Replicarea accidentelor legate de încărcare în medii neproductive

Desfășurăm o aplicație personalizată pe intranetul nostru și am găsit o problemă după actualizarea recentă în care IIS se blochează cu o utilizare CPU de 100%, necesitând o resetare.

Mai degrabă decât să-i supunem pe utilizatori blocurilor, am revenit la versiunea anterioară în timp ce stabilim o soluție. Primul pas este să reproducem problema - dar nu putem.

Iată câteva fundaluri:

Prod are un singur server virtualizat (vmware) cu două procesoare și 2 GB de memorie RAM. Serverul bazei de date are 4 GB și 2 procesoare. Este, de asemenea, pe VMWare, dar hardware fizic separat.

În timpul utilizării normale, aplicația funcționează bine. Procesul w3wp.exe utilizează în mod normal între CPU de 5-20% și aproximativ 200MB de memorie RAM. CPU și RAM fluctuează ușor în condiții normale de utilizare, dar nimic neobișnuit.

Cu toate acestea, atunci când începem să ne confruntăm cu probleme, memoria RAM urcă dramatic, iar cârligele CPU-ului la 98% (sau la fel de mult cât se poate). Site-ul devine nereactiv, necesitând o repornire a IIS. Resetarea bazei de aplicații nu face nimic în această situație, este necesară o repornire completă IIS.

Nu se întâmplă în timpul nopții (fără utilizare). Se întâmplă mai mult atunci când site-ul este încărcat, dar sa întâmplat, de asemenea, în perioade non-vârf.

Primul pas pentru a rezolva această problemă îl reprezintă reproducerea. Pentru a simula încărcarea, începem să folosim JMeter pentru a simula utilizarea. Scriptul de încărcare se bazează pe utilizarea reală în jurul perioadei de accident. Folosind JMeter, putem rampa de utilizare destul de mare (de 2-3 ori sarcina în timpul accidentului), dar site-ul se comportă bine. CPU-ul este ridicat, iar site-ul devine lent, dar utilizarea memoriei este rezonabilă și nimic nu este suspendat.

Are cineva sfaturi despre cum să reproducă o problemă de genul asta într-un mediu neproductiv? Ne-ar plăcea cu adevărat să reproducem eroarea, să determinăm o soluție, apoi să încercăm din nou pentru a ne asigura că am rezolvat-o. În timpul procesului am găsit o serie de lucruri mici pe care le-am îmbunătățit, care ar putea rezolva problema, dar m-aș simți cu adevărat mult mai încrezător dacă am putea să reproducem problema și să testam versiunea îmbunătățită.

Orice instrumente, tehnici sau teorii sunt mult apreciate!

0
fr hi bn
Presupun că aveți capabilități de conectare din IIS și/sau aplicația dvs.? Când încep problemele, ce se întâmplă exact cu asta? Cum este aceasta diferită de ceea ce simulează testul dvs. de încărcare?
adăugat autor Andrew Grant, sursa
Am aceeasi problema, aruncati o privire la jurnalele de performanta vmware, uitati-va la memoria de peste o luna sau doua, pentru noi la fiecare 8-10 zile acest lucru se intampla, cand am avut mai putin berbec la fiecare sase zile. Se pare că există o scurgere de memorie. Am avut exact același site care rulează pe un server fizic real fără probleme, pare să fie o problemă cu IIS și vmware. Pentru a răspunde la întrebarea dvs., încercați să executați instrumentul de încărcare în timp ce (săptămâni) și configurați urmărirea pe serverul de testare. Dacă găsiți o soluție, vă rugăm să postați, nu a
adăugat autor Mike, sursa

2 răspunsuri

Am un articol despre depanarea ASP.NET în producție care poate furniza unele indicii .

0
adăugat

Puteți găsi informații despre depanarea acestui tip de problemă la această intrare blog . Blogul ei este în general o resursă bună de depanare.

0
adăugat