Výkonnostní testy

Modelová situace: kapacita systému před kampaní

Podívejme se, jak před velkou kampaní změřit kapacitu systému, najít úzké místo a proměnit výsledky v konkrétní priority.

Výchozí situace

Jde o e-shop před Black Friday nebo firmu před spuštěním rozsáhlé reklamní kampaně. Blíží se den, kdy může do systému přijít několikanásobek běžné návštěvnosti. Kapacita však nebyla změřena a tým má k dispozici pouze zkušenost z minulého provozu.

Co se obvykle děje

Kapacita se odhaduje bez aktuálního měření. Firma potom může investovat do infrastruktury, kterou nepotřebuje, nebo naopak přehlédnout riziko v nákupním procesu – tedy v části, na které přímo závisejí tržby.

Jednoduchá syntetická volání na jednu adresu mohou ověřit konkrétní část systému, ale nepředstavují celé chování zákazníků. Ti se přihlašují, vyhledávají, plní košík a platí. Pokud se navíc sleduje pouze průměrná odezva, mohou v ní zaniknout pomalejší požadavky.

Jak to řešíme

Scénáře navrhneme podle skutečného chování vašich uživatelů, nikoli jako umělé požadavky na jednu URL. Vycházíme z toho, jak se zákazníci v systému opravdu pohybují.

Podle rizika vybereme vhodnou kombinaci druhů zátěže: očekávaný provoz (load), hranice systému (stress), náhlou špičku po spuštění reklamy (spike) nebo dlouhodobou stabilitu (soak), při které se mohou projevit například pomalé úniky paměti.

Měříme odezvy v percentilech (p95, p99), chybovost i propustnost. Pokud jsou dostupné metriky aplikace, databáze a infrastruktury, porovnáme je na jedné časové ose. Souvislosti pomohou určit, která část systému je pravděpodobným úzkým místem a co je nutné dále ověřit.

Stavíme na open-source runnerech k6 a Locust. Rozsah lokálního testu určuje výkon a konfigurace použité infrastruktury; komerční cloudové služby nejsou podmínkou. JMeter volíme u starších protokolů mimo HTTP nebo tehdy, když již máte stávající sadu.

Co z toho máte

První krok

Připravte typický uživatelský scénář, odhad očekávané návštěvnosti, přijatelné limity odezvy a termín kampaně. Tyto údaje pomohou určit rozsah testu i potřebný předstih pro případné úpravy a opakované měření.

Související témata

Mohlo by vás také zajímat

Kapacitu systému chcete znát předem

Zátěžové a stresové testy ukážou chování a kapacitu systému v dohodnutých podmínkách ještě před očekávanou špičkou.