Det var en gång...

Flera decennier inom QA ger en del dråpliga och insiktsgivande berättelser att förmedla. För min egen skull har jag börjat beskriva en del av dessa här.

Detta är en av dem.


Pinsamt mycket överlast

Det var ett väldigt kort uppdrag. En prestandatestare på Unibet hade fått semester mot att han kunde hitta någon som kunde ta hans plats som prestandatestare denna semestervecka.

Uppdraget landade på mig. Vi hade jobbat tillsammans förut och han litade på mig. Visserligen var verktyget nytt för mig, men det gällde bara att skapa en last med HTTP-förfrågningar och för det funkar ju vilket verktyg som helst. Dessutom fanns verktyget redan på plats i infrastrukturen och standardscript var framtagna så det var egentligen bara att trycka på startknappen vid behov.

Behovet att köra testerna uppstod på grund av en ny release och jag började sätta mig in i att skapa lasten på likartat sätt som de tidigare testerna genomförts så att vi kunde jämföra resultaten.

Efter någon timme deklarerade jag mig redo och jag drog igång lasten. Ingen förväntade sig egentligen prestandaproblem med denna release, men redan efter några minuters last började systemet gå segt och snart insåg jag att systemet hade fått problem.

Jag slog larm och det blev stort pådrag. Vi började spåra vari felen låg och parallellt kikade jag runt i scripten för att se om det var något i dessa som kunde vara knasigt.

Efter någon kvart hittade jag att jag hade ställt in 20 parallella trådar per user på ett ställe, men i grundscripten fanns detta redan inställt på ett annat sätt. Det innebar i klartext att jag hade brassat på 20 gånger mer last än systemet var skapt till att klara av. Hoppsan.

Jag fick påkalla uppmärksamhet från de som felsökte för fullt och berätta att det nog var jag som var felet.

Vi körde om testerna med mer rimlig last och då klarade sig releasen bra.

Lärdom

Ha koll så att det inte är testutförandet som är felet innan man slår storlarm.