Avatar billede pablopablo Nybegynder
08. april 2008 - 15:32 Der er 10 kommentarer og
1 løsning

Load test af app. på remote server

Hejsa...

Jeg har et asp.net 2.0 site som ligger på en server jeg ikke fysisk har adgang til...Jeg er igang med at load-teste vores site, idet, det er gået ned flere gange med "Out Of Memory"...

I har nu gået det igennem og flere steder blev DB forbindelser ikke lukket korrekt. Det gør de nu! :) Men hvad ellers kan jeg gøre, for at "rydde op", således at det kører så godt som overhovedet muligt?

Jeg bruger en del Session variabler, men jeg renser aldrig ud i dette....skal jeg det og hvornår og hvordan?

Hvis der er anndet jeg skal være opmærksom på, så sig endelig til!!

Ved at åbne en krævende aspx side i mange vinduer på flere computere, kan jeg re-producere den omtalte exception...Findes der andre og evt. bedre og mere fuldendte måder at teste et site på??

Mvh. PabloPablo
Avatar billede arne_v Ekspert
08. april 2008 - 15:53 #1
Managed ressourcer gemt i session boer frigives til GC naar session expirer.

Hvis problemet er session variable kan du overveje at justere session timeout.
Avatar billede pablopablo Nybegynder
08. april 2008 - 16:00 #2
Det er kun mindre strings som gemmes i Session....så ja...

Jeg så sikker som jeg kan være på, at det ikke længere er et database problem, idet at fejlen også var noget andet tidligere...selvfølgelig kan der være flere brister...?

Jeg har lagt et shot af den exception som opstår pt...
http://www.unicdesign.dk/Exception1.jpg

Hvordan ændre jeg session timeout? og kan det skyldes andre ting?
Avatar billede arne_v Ekspert
09. april 2008 - 02:25 #3
Din stack trace ligner noget rekursion. Bruger du evt. meget memeory per kald ?

Du sætter timeout i web.config sessionState element timeout attribute.
Avatar billede pablopablo Nybegynder
09. april 2008 - 11:42 #4
Hej igen arne...jeg har fået mange forskellige stack traces...men alle pga. samme Out Of Memory Exception...så tvivler på at det er nogle konkrete linier kode som forårsaget fejlen...Når jeg åbner 10 instancer af sitet på min maskine, så fylder de imellem 150-200MB i mine ram og hvis jeg fortsætte og åbner 30-40 stykker, så går min maskine tør for memory og IE crasher...Men det har vel kun noget med klienten at gøre?

Jeg er 99,999% sikker på, at det ikke er et db problem længere, da jeg har gennemgået det flere gange og at exceptionen heller ikke peger imod det...

Jeg bruger kun session variabler til at indholde simple typer, strings...ca. 20 stk. som hver i sær ikke indeholde mere en 25tegn. Det kan da umuligt være årsagen...??

Det skal nævnes at INTET caches på nogle af siderne...men det burde da heller ikke give en den exception eller hvad?

Når forside loades kræves ~ 227kb hvilket fordeles således:

image/jpeg:    53.304
                    text/css:    24.506
                    ~headers:    10.525
application/x-shockwave-flash:    25.473
                    text/html:    52.225
              text/java script:    6.880
    application/x-java script:    54.118

Det skal sige, at det flash banner er 100& statisk, tidligere havde vi et som krævede mange CPU ressourcer, men det er jo igen kun lokalt...

Den måde jeg har testet det på, er som sagt ved at trykke CTRL+N i IE 7.0. Således at der oprettes et nyt vindue ca. hver 1sek. og når der er oprettet max. 50-60 stykker via flere computere...så er det at vi oplever fejlen.

Session timeout spiller vel egentlig ingen rolle i dette tilfælde?
Jeg ved ikke hvor meget memory der bliver brugt på serveren per kald? Hvis der er noget andet jeg skal finde ud af eller kan gøre, så sig til!

Mvh
Avatar billede arne_v Ekspert
14. april 2008 - 04:07 #5
Nej, 20 x 2 x 25 bytes = 1000 bytes betyder intet.

Mener du med "instancer af sitet" kopier af web applikationen ? Jeg finder det ikke
overraskende hvis en normal PC ikke kan trække 50 web sites.
Avatar billede pablopablo Nybegynder
14. april 2008 - 11:18 #6
Jeg mener 50 åben IE vinduer hvor jeg er gået ind på den samme site...som jeg skrev via CTRL + N.

Snakkede med hosting selvskabet igen igen...og nu fandt de pludselig ud af, at jeg ikke havde min egen app pool! dvs. app kørte en i delt tråd...det er lavet om nu, så nu spiller det meget bedre...jeg kan ikke længere få den til at gå ned...

Men findes der noget andet jeg kan gøre for at load teste serveren?
Avatar billede arne_v Ekspert
15. april 2008 - 03:16 #7
Skriv et lille program som bombarderer serveren med requests.

Eller find et færdigt til formålet.

F.eks. http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&DisplayLang=en
Avatar billede pablopablo Nybegynder
15. april 2008 - 11:05 #8
Hej Arne :)

Tak for linket! Er det noget du selv har erfaring med? Jeg optog et senarie med ca. 10-15 klik i og har nu sat programmet til at køre med 100 tråde og 10 sockets/brugere på hver = 1000 brugeren... det har kørt i 45min indtil videre og når jeg selv åbner IE og går ind på siden reagerer den stadig fint...vil det så siger at den fint kan klar 1000 samtidige brugere?
Avatar billede arne_v Ekspert
15. april 2008 - 15:20 #9
Nej. Jeg kender ikke selv produktet.
Avatar billede pablopablo Nybegynder
15. april 2008 - 15:35 #10
okay...tak for hjælpen! læg blot et svar...
Avatar billede arne_v Ekspert
15. april 2008 - 15:42 #11
svar
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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