Služby · Výkonnostné testy
Výkonnostné a záťažové testy
Odmeriame, akú záťaž systém zvládne v testovaných podmienkach a pri akej záťaži sa začína spomaľovať. Ak máme k dispozícii aplikačné a serverové metriky, pomôžu nám zúžiť hľadanie pravdepodobných úzkych miest. Pripravíme realistické scenáre, testy spustíme pomocou nástrojov k6, Locust alebo JMeter a výsledky vyhodnotíme podľa p95 a ďalších metrík, nie iba podľa priemeru.
- k6
- Locust
- JMeter
O službe
Kapacitu systému chcete poznať vopred
Výpadok počas marketingovej kampane, Black Friday alebo po spustení novej funkcie prichádza práve v čase, keď systém potrebujete najviac. Záťažový test môže vopred ukázať správanie systému pri očakávanej záťaži a hranicu nameranú v testovaných podmienkach.
Navrhneme záťažové scenáre podľa typického správania používateľov a dostupných prevádzkových údajov – nie iba syntetické požiadavky na jednu URL. Podľa cieľa a rizika vyberieme vhodnú kombináciu load, stress, spike alebo soak testov.
Dostanete report s kapacitou nameranou v testovanom prostredí, podmienkami, pri ktorých výsledok platí, pravdepodobnými úzkymi miestami a odporúčanými ďalšími krokmi.
Jednoduchý vstup
Čo od vás potrebujeme
- Od vás stačí poznať typický scenár používateľa (napr. nákup, prihlásenie) a vedieť si ho na systéme manuálne prejsť.
- Nemusíte nič skriptovať ani rozumieť záťažovým nástrojom – vy poznáte, ako systém bežne používajú zákazníci.
- Spravidla stačí prístup k testovaciemu prostrediu a dohoda o časovom okne testu.
- Ak viete, čo chcete odmerať, pripravíme záťažové testy. Ak cieľové hodnoty ešte nemáte, navrhneme ich spolu s vami podľa typických používateľských ciest a očakávanej prevádzky.
- Zvyšok – návrh scenárov, skripty, beh testov, podľa dostupnosti zber aplikačných a serverových metrík aj report s odporúčaniami – zabezpečíme my.
Čo získate
Čo vám výkonnostné testy prinesú
Nameraná kapacita v testovaných podmienkach
Dostanete namerané hodnoty o správaní systému pri dohodnutej súbežnosti a záťaži vrátane podmienok, pri ktorých výsledok platí.
Užší okruh pravdepodobných príčin
Ak sú dostupné aplikačné a serverové metriky, výsledky pomôžu zúžiť hľadanie napríklad na databázové dotazy, connection pool alebo infraštruktúru.
Menej rizika pred kampaňou
Pred Black Friday, spustením reklamy či migráciou získate meranie kapacity v dohodnutých podmienkach a podklady na rozhodnutie, čo upraviť.
Podklady pre škálovanie
Merania vám pomôžu rozhodnúť, či a kam investovať do infraštruktúry, aby sa rozhodnutia o škálovaní a kapacite neopierali iba o odhady.
Ako to prebieha
Možný priebeh spolupráce
Konkrétne kroky a ich poradie prispôsobíme vašej situácii, dostupným podkladom a dohodnutému výstupu.
-
Definícia scenárov a cieľov
Určíme kľúčové scenáre, očakávanú záťaž a limity odozvy, chybovosti a priepustnosti. Zároveň si potvrdíme podmienky, v ktorých má meranie platiť.
-
Príprava skriptov a prostredia
Naskriptujeme scenáre, pripravíme testovacie dáta a podľa dostupnosti nastavíme zber dohodnutých aplikačných a serverových metrík.
-
Beh testov
Podľa cieľa a rizika spustíme vhodnú kombináciu load, stress, spike alebo soak testov a počas behu sledujeme dohodnuté metriky.
-
Analýza a odporúčania
Dostanete report s výsledkami, pravdepodobnými úzkymi miestami a odporúčaniami na ich ďalšie overenie alebo odstránenie.
Nástroje a postupy
Nástroje a pracovné postupy volíme podľa konkrétneho riešenia
Pri výbere uprednostňujeme open-source nástroje, ak sú vhodné pre danú službu, vaše prostredie a spôsob prevádzky. Ak riešenie využíva komponent s inou licenciou, platenú cloudovú službu alebo externú infraštruktúru, podmienky a náklady uvedieme v ponuke. Spôsob odovzdania výstupov a vytvoreného kódu dohodneme podľa typu služby.
-
k6
Náš hlavný open-source nástroj na záťažové testy. Scenáre v JavaScripte alebo TypeScripte žijú v repozitári a môžu sa pravidelne spúšťať aj v CI.
-
Locust
Locust volíme, keď má byť záťažová sada v Pythone rovnako ako ostatné testy. Scenáre sú čitateľný open-source kód, ktorý môže váš tím verzovať, kontrolovať a ďalej rozvíjať.
-
JMeter
JMeter používame pri JDBC, JMS, FTP, SOAP a ďalších protokoloch alebo vtedy, keď máte existujúcu JMeter sadu, ktorú sa oplatí zachovať a ďalej rozvíjať.
Hlbšie k téme
Ak sa chcete dozvedieť viac
-
Core Web Vitals verzus záťažové testy: dva druhy pomalého webu
Web môže jednému človeku pripadať pomalý aj vtedy, keď server takmer nič nerobí. Inokedy je rozhranie pri malej návštevnosti svižné, no po príchode väčšieho počtu používateľov začnú odpovede meškať a operácie zlyhávať.
-
k6 alebo JMeter: čím robiť záťažové testy
k6 aj JMeter sú nástroje na záťažové testovanie. Dokážu vytvárať súbežnú záťaž a merať, ako sa systém správa pod tlakom; praktický rozsah testu však závisí od scenára, konfigurácie a výkonu použitých generátorov záťaže.
-
Koľko súbežných používateľov web unesie a ako to zmerať
„Koľko používateľov náš web unesie?“ znie ako otázka na jedno číslo. Odpoveď však závisí od toho, čo používatelia robia, aké limity odozvy a chybovosti považujete za prijateľné a na akej infraštruktúre systém beží.
-
Rozdiel medzi load, stress, spike a soak testom
„Chceme záťažový test.“ Táto veta znie jednoznačne, ale nie je. Záťažové testovanie zahŕňa viac typov testov a každý odpovedá na inú otázku.
-
Modelová situácia: kapacita systému pred kampaňou
Pozrime sa, ako pred veľkou kampaňou zmerať kapacitu systému, nájsť úzke miesto a premeniť výsledky na konkrétne priority.
-
Najčastejšie úzke miesta webových aplikácií a API
Systém spomalil, zákazníci čakajú dlhšie a tím potrebuje rozhodnúť, či pomôže výkonnejší server, zmena aplikácie alebo úprava databázy.
-
p95 a priemer: prečo jedno číslo na odozvu nestačí
Report z výkonnostného testu hovorí, že priemerná odozva je pol sekundy. Napriek tomu môžu zákazníci hlásiť, že niektoré operácie trvajú podstatne dlhšie.
-
Výkonnostné testovanie API a mikroslužieb
Výkonnostné testovanie API meria, ako sa pod záťažou správajú rozhrania, cez ktoré vaše systémy komunikujú – bez prehliadača a vykresľovania stránky.
-
Záťažové testy na stagingu alebo v produkcii: čo sa dá bezpečne zmerať
Záťažový test na stagingu znižuje priame riziko pre zákazníkov, ale staging často nemá produkčnú kapacitu, dáta ani závislosti.
-
Zvládne váš e-shop Black Friday? Ako to zistiť vopred
Kampaň sa pripravuje mesiace: zľavy, e-maily, reklama aj sklad. Ak návštevnosť narastie výraznejšie, než systém zvládne, e-shop môže začať odpovedať pomaly alebo zlyhávať práve pri košíku a platbe.
Poďme sa pozrieť na váš konkrétny prípad
Stručne nám opíšte, čo chcete preveriť alebo automatizovať, aký systém či proces používate a čo vás dnes najviac obmedzuje. Ozveme sa s návrhom vhodného ďalšieho kroku.