Avatar billede ulrikp Nybegynder
24. april 2006 - 21:04 Der er 6 kommentarer

Performance, bestemt flaskehals

Jeg har et ASP.NET website kørende, hvor CPU'en nogle gange amok på 100%. Det er nærmere betegnet w3wp.exe processen. Findes der nogle værktøjer, hvormed jeg kan bestemme, hvad flaskehalsen er? Jeg har prøvet forskellige countere i PerfMon, men jeg ved ikke rigtigt, hvad jeg skal kigge efter (der er jo hundredevis af countere).
Avatar billede tuxic Nybegynder
24. april 2006 - 21:14 #1
w3wp kan recycles nogle gange. Har du set om cpu forbruget er periodisk og relativt kortvarigt? Hvis det er recycling står det vist også i eventloggen.

Hvis det er relateret til din .NET application kan du prøve at se på de perfcountere der vedrører .NET memory, navnlig timespend in GC og størrelserne på de forskellige heaps (skal helst være 10:1. Dvs 0 = 100, 1 = 10, 2 = 1).

ASP.NET apps kan nemt falde i midlife-crisis (som så mange andre i suppose), hvor objekter overlever til gen 2 og dør hurtigt derefter. Så i Rico Marianis blog.

Det er svært at komme det nærmere uden at kende din app.
Avatar billede ulrikp Nybegynder
24. april 2006 - 21:34 #2
Problemet er opstået 2-3 gange i løbet af de sidste 14 dage (ca.) og det varer gerne ca. et par minutter før cpu-forbruget falder til et normalt niveau igen. Jeg har så også stoppet og startet sitet, når det er sket, så jeg ved ikke om de 100% ville have fortsat, hvis jeg ikke havde gjort det... Kan du uddybe det med midlife-crisis. Har det noget at gøre med, at der bruges alt for meget CPU-kraft på garbage collecting?

Jeg tror et eller andet sted mest på, at det er et bestemt sted i koden, hvor den ender i en uendelig løkke, eller noget... Har imellemtiden fundet dette link til et værktøj, som jeg måske kan bruge til at fejlsøge med næste gang det sker:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/c2e0c73b-5aa3-47be-babb-2552b68cbb30.mspx?mfr=true
Avatar billede tuxic Nybegynder
24. april 2006 - 21:46 #3
Midlife-crisis, fx: Der kommer et kald til din side. Siden slår op i databasen (fx). Imens der ventes på svar fra basen kommer en anden bruger forbi siden. Under behandlingen af den anden bruger allokeres nogle objekter og dermed GCs der. Objekterne der er i brug mens der ventes på basen flyttes så til gen 2. Gen 2 er rigtig dyr at collecte fra (fuld sweep af heapen).

Der findes jo også forskellige profilers man se på.
Avatar billede ulrikp Nybegynder
24. april 2006 - 21:52 #4
Jeg vil prøve at kigge på GC gen 2 næste gang det sker også.

Har du nogle navne på profilers?
Avatar billede tuxic Nybegynder
24. april 2006 - 22:01 #5
devpartner. Jeg mener også der ligger nogle gratis på msdn
Avatar billede ulrikp Nybegynder
24. april 2006 - 22:03 #6
Tak, jeg prøver nogle af ovenstående ting af næste gang, og så giver jeg dig point, hvis der er nogle af dine forslag, der hjælper.
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
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

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