Avatar billede stener Nybegynder
10. oktober 2002 - 12:53 Der er 23 kommentarer og
1 løsning

Session variabler

4 User sessions pr bruger der logger sig ind i et system er det for mange?.

Kan godt reduceres til 2 men så kræver det flere kald til databasen.

Hvor mange sessions skal man bruge før det bliver kritisk for serveren. Det kommer selvfølgelig an på hvor meget ram serven har men er det fornuftigt at bruge 4 sessions pr bruger?.
Avatar billede boris Mester
10. oktober 2002 - 12:56 #1
Der er ikke noget, der hedder brugere i ASP.
Hver session er unik for ASP, uanset om det er den samme person.
Uden sessions ville serveren slet ikke vide, at det stadig var dig, hvis du gik videre til en anden side.
Du kan komme til at bruge meget ram, hvis du trækker for meget å databasen
Avatar billede eagleeye Praktikant
10. oktober 2002 - 12:57 #2
Det kommer også an på hvor mange data du smider i hver... Hvis det er brugeID, brugerNavn, mf så går det nok. Hvis det er 100M billeder så går det hurtigt galt. Men Session bliver gemt hos brugeren, lige som cookies, dog er de kun aktive når man er på den pågældene side.

Så det tror jeg ikke er noget problem.
Avatar billede boris Mester
10. oktober 2002 - 12:59 #3
Du kan reducere belastningen ved at give session en hurtigere timeout, så du ikke har alt for mange forladte sessions stående, for gør du ikke det, varer en session 20 minutter, selvom gæsten er skrevet med det samme
Avatar billede boris Mester
10. oktober 2002 - 12:59 #4
skrevet -> skredet, tyrkflej, blekager
Avatar billede erikjacobsen Ekspert
10. oktober 2002 - 13:07 #5
eagleeye: sessionvariabler bliver ikke gemt på klienten
men på serveren. Der er kun en lille ID på klienten. Så ja:
mange sessionvariabler belaster serveren - lidt :)
Avatar billede eagleeye Praktikant
10. oktober 2002 - 13:09 #6
Klienten kan da afgøre om Session variable må gemmes eller ej... Så hvordan virker det så?
Avatar billede erikjacobsen Ekspert
10. oktober 2002 - 13:10 #7
Nej klienten kan kun afgøre om den cookie, der indeholder ID-et
skal gemmes eller ej
Avatar billede eagleeye Praktikant
10. oktober 2002 - 13:12 #8
Ok :)
Avatar billede boris Mester
10. oktober 2002 - 13:18 #9
I HTML kan serveren ikke se, om det er samme bruger, der åbner en ny side.
Sessions i ASP virker på den måde, at serveren tildeler brugeren en cookie, altså en lillebitte tekststump som id. Hver gang brugeren så åbner en ny side (eller vender tilbage til samme side), læser serveren cookien og ved på den måde, at en request hører til en bestemt session.
Variablerne bliver liggende på serveren indtil den pågældende session er slut, og derefter slettes de af hukommelsen.
Hvis der ikke kommer en request indeholdende den pågældende sessions id i løbet af default 20 minutter, så ophører den pågældende session.
Avatar billede stener Nybegynder
10. oktober 2002 - 14:04 #10
Ok mange sessions belaster serveren men er 4 session pr bruger for mange at bruge?.

Er det muligt kun at fjerne 1 ud af 4 sessions hvis den ene session har tjent sit formål?.
Avatar billede boris Mester
10. oktober 2002 - 16:47 #11
Det giver kun mening at tale om at en bruger har 4 sessions, hvis brugeren opretter 4 sessions lige efter hinanden og opretter de næste, mens de andre stadig kører. Men det er da ikke specielt smart?
Hvis du virkelig vil det, kan du slutte hver session med Session.abandon
Det knalder den session ned, så der ikke er mere tilbage af den.
Belastningen af serveren er nok mest afhængig af, om hver session har dannet nogle kæmpestore variabler med masser af databaseindhold. og ikke får dem frigjort hurtigt nok.
Avatar billede erikjacobsen Ekspert
10. oktober 2002 - 17:03 #12
han mener nok 4 session variabler. Og er de "små nok" betyder det ingenting
Avatar billede stener Nybegynder
10. oktober 2002 - 17:21 #13
Når en bruger logger sig ind i systemet bliver der oprettet 4 session variabler. Brugerens userid username userstatus osv.

Jeg går ud fra at der så for hver bruger vil ligge 4 ider på serveren som bliver requestet når klienten spørger efter dem.

Det er det jeg mener. Undskyld hvis jeg har opstillet spørgsmålet åndsvagt..

Så ville jeg bare vide om det var en stor belastning for serveren at skulle tildele 4 session variabler til hver bruger pr session.

Hvis man laver en session.abandon lukker den så ikke alle session variablerne.

Kan man gøre det for hver enkelt?.

Det vil
Avatar billede boris Mester
10. oktober 2002 - 17:42 #14
Ok. Det er ikke noget problem. Du taler vel om vi små bitte stumper tekst.
Det var noget andet, hvis du hentede store mængder data fra en database.
Jo, Session.abandon lukker Sessionvariablerne på den pågældende session.
Og en session variabel kan ikke ses af en anden session.
Avatar billede stener Nybegynder
11. oktober 2002 - 09:05 #15
Har lige et sidste spørgsmål det er ok hvis i vil have jeres points nu tak for hjælpen.

Hvornår er det klogt at bruge en function?.
Avatar billede boris Mester
11. oktober 2002 - 09:08 #16
Det er klogt at bruge en function, hvis du har en masse kode, du bruger flere gange og som returnerer et resultat. Hvis den ikke skal returnere noget, bruger du en sub.
Avatar billede stener Nybegynder
11. oktober 2002 - 09:48 #17
Hvis jeg 2 gange på en side skal checke for om et blibliotek er tomt
så ville du bruge en sub istedet for?.

Function slet_dir(dir_name)
  'Hvis der ligger et billeder i f_temp bliver de slettet
  response.write "Åbner fso og sletter fra temp function<br><br>"
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set folder = fso.Getfolder("d:\home\clanwarsdk\www\opdatering\images\" & dir_name & "\")
  if folder.size > 0 then
  response.write "sletter fra temp<br><br>"
  for each file2 in folder.files
  fso.DeleteFile("d:\home\clanwarsdk\www\opdatering\images\F_temp\" & file2.name)
  next
  end if
  set fso    = nothing
  response.write "lukker fso<br><br>"
End function

clean_dir = slet_dir("F_temp")

Giver dig points nu:) tak for hjælpen
Avatar billede erikjacobsen Ekspert
11. oktober 2002 - 09:59 #18
Man behøver ikke bruge koden flere gange. Hvis en stump kode
laver en veafgrænset, veldefineret funktion, kan man (bør man)
give den et navn og anbringe den i en funktion/sub. Det øger
læseligheden, gør det nemmere at vedligeholde, og måske genbruge
et andet sted. Det kan også være det går lidt langsommere, men
det er vel ligemeget...
Avatar billede stener Nybegynder
11. oktober 2002 - 10:28 #19
Langsommere at kode ? :) eller bliver response tiden langsommere..
Avatar billede erikjacobsen Ekspert
11. oktober 2002 - 10:35 #20
Det koster (ganske) lidt at kalde en sub/function - så response
tiden bliver teoretisk set langsommere hvis man kun har ét kald.
Bruger man samme kode flere steder, kan det derimod typisk betale sig
at samle det i en sub/function, da kodelinierne så kun skal parses
en gang.

Men: få koden overskuelig og korrekt. Derefter kan man evt.
bekymre sig om kørehastighed.
Avatar billede boris Mester
11. oktober 2002 - 10:36 #21
Det er utroligt vigtigt at man tager sig tid til at kode læseligt og dele tingene lidt op! Det betyder ikke noget for, hvordan det virker, men det gør det nemmere at rette og undgå fejl.
Hvis det gør nogen forskel at bruge sub/funktion tidsmæssigt, er det meget, meget lidt.
Det gør nok en hel del mere forskel, hvis du har for mange <% %>, for så skal serveren kalde ASP igen hvergang den går fra HTML til ASP
Avatar billede erikjacobsen Ekspert
11. oktober 2002 - 10:41 #22
Det sidste du siger, Boris, er en skrøne.
Avatar billede boris Mester
11. oktober 2002 - 10:53 #23
Når siden hedder .asp bliver den i hvertfald sendt til serverens ASP script vært, som tager sig af at fortolke den, så selve fortolkningen sker formentlig på een gang. Men hvis der kun er en blok med ASP, skal serveren kun hoppe ud og ind af HTML-koden een gang.
Jeg skriver, hvor jeg har det fra, hvis jeg falder over det.
Avatar billede erikjacobsen Ekspert
11. oktober 2002 - 11:30 #24
Det er en skrøne, uanset hvor du har set det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester