Hej! *** LÖST ***Web garden samt prestanda - tips o råd
Jag har en serverpark med tre bladservrar. Dessa tre kör Win 2003 Std Edition och har som uppgift i livet att servar en ASP.NET-applikation. Ingen SQL eller annat, bara webserver. SQL-servern ligger på en annan fysisk maskin. Dessa sitter i ett cluster som administreras av 2003:an själv, alltså den som ingår i Win 2003 Server Std.
Servrarna är 2x3.06GHz Xeon(HT), 2GB RAM, 2x72GB SCSI 15K (speglade med RAID-kort) 3xNIC 1Gbps. De fungerar alldeles utmärkt med några få undantag.
1.
Jag får periodvis höga värden i Processor Queue Length (PQL). Ibalnd kan de stå någon timme och ha ett eller två i värde för PQL. Sedan kan de skjuta iväg och lägga sig på mellan 70 och 80 i PQL. Acceptabelt enligt MS är ca 8-10 per processor, dvs max 40 i mitt fall.
Är det någon som har idé om vad det kan vara? Jag har ca 250 Sessions Active när jag gjort mätningarna. Det verkar inte spela någon roll om det är 50 eller 300 users samtidigt, PQL kan vara hög eller låg ändå så jag har inte kunnat se ett samband där.
2.
Processor usage; Ligger normalt på kanske 3-4% med ca 250 Sessions Active och det är mer än godkänt. Dock kan även processorn (likt PQL) skjuta iväg upp till både 30, 40 och ibland 50%. Detta hänger ofta ihop med PQL, dvs om jag har hög processor usage har jag hör PQL o tvärt om. När detta händer, tilsammans med höga PQL-värden känns ändå applikationen väldigt snabb.
Minnet för w3wp.exe ligger på ca 250MB och lika mycket virtuellt. Jag har dock noterat att jag hra ganska mycket PageFaults. Den ligger nu på 280 000 och då har den varit igång sedan i lördags. Den har faktiskt låga värden för pagefilen, dvs den skriver/läser inte mycket till disk
NLB verkar funka fint eftersom den verkligen skickar användarna mellan de tre servrarna, så det är inte problemet. Jag ser också att den som har minst att göra får alla sessions.
När en av servrarna idag peakade hade jag nästan 700 aktiva sessioner och det märktes verkligen inte vare sig på processor usage eller PQL. Men helt plötsligt började även den att fara iväg efter 30-40 minuter.
Jag har läst en del på TechNet, MSDN och MSKB om detta och de pekar på att den ev behöver mer processor och/eller minne. Men jag tror inte problemet ligger där.
Jag har identifierat alla services och skalat bort (stoppat) de so minte behövs. Jag ser också att det bara är w3wp.exe som tar processorkraft.
Det var lite bakgrund. Nu till min egentliga fråga.
Jag har läst om Web Garden (inte Web Farm) och detta verkar intressant. Dock har jag testat detta på en DP-maskin (eftersom man bör ha minst två processorer) och det känns som om min request från browsern ibland hamnar på den ena worker processen och ibalnd i den andra. Då detta händer känns det också som jag har fått olika sessioner. Alltså om jag bara surfar till servern så hamnar jag i den ena workerprocessen och om jag sedan refreshar kan jag hamna i den andra (lite Round-Robin över det hela). Jag skulle vilja köra någon typ a affinity som ser till att alla mina requests kommer till samma worker process under min session. Jag kan inte använda state-server eftersom jag sparar objekt i sessions (vill inte köra serialize/deserialize).
Är det någon som har liknande erfarenheter beträffande PQL och processor usage?
Är det någon som har erfarenhet av Web Garden i clustermiljö med DualProcessor och HyperThreading påslaget (det blir ju som fyra proppar då)?
Tacksam för alla tips.
MVH
Fredrik
PS Applikationen känns alltid responsiv och inte slö...Sv: Web garden samt prestanda - tips o råd
En timer i en extern komponent startades men avslutade inte och den låg och tog kraft.
MVH
Fredrik