Jak provést zátěžový test webové aplikace

18. listopadu 2018

Mít webovou aplikaci je fajn. Ale aplikace musí být i dobře použitelná. Základní věc je, aby se webová aplikace načetla pokud možno rychle. A proto je potřeba otestovat jak rychle se webová stránka načítá a jak rychle odbavuje server a webová aplikace velké množství současně přestupujících uživatelů.

Test rychlosti

Pokud jde o rychlost webové stránky, základní věc, kterou otestujte, je rychlost načtení a zobrazení webové stránky

Je tedy potřeba aplikaci otestovat. Základní test můžete provést tím, že si zvolenou webovou stránku zobrazíte v prohlížeči. Můžete si i zobrazit informace pro vývojáře a kouknout se podrobněji, které části stránky se stáhnou a zobrazí za jakou dobu.

Další možností je využít webových aplikací, které otestují rychlost načtení Vaší webové stránky a zobrazí výsledky:

Zátěžový test

Tento test se dá nazvat také burn test nebo stress tets.

V reálném provozu Vás však bude zajímat jak vaše webová aplikace funguje v reálném provozu, tedy kdy na stránku přistupuje více uživatelů, což může být někdy i mnoho. Proto je potřeba webovou aplikaci otestovat zátěžovým testem, který simuluje situaci, kdy je webová aplikace používána souběžně mnoho uživateli.

Proč provádět zátěžový test? Otestujete tak odezvu aplikace v situaci blízké reálnému použití a tím ověříte že:

  • je aplikace dobře napsaná
  • web server je dobře nakonfigurován
  • web server je dostatečně nadimenzován
Díky tomu se Vám nestane, že například na slabém serveru při defaultní instalaci dojdou systémové prostředky a web server spadne.
A tím pádem bude návštěvník bude spokojeně používat Vaši webovou aplikaci.

K zátěžovému testu webové aplikaci slouží utilita AB, která přistupuje na daný web a simuluje, paralelní přístup mnoha uživatelů.

Hlavní parametry programu AB nastavují přepínače:

  • n - udává kolik s pojení má program provést.
  • c - udává kolik má provádět paralelních spojení.
Čili čím větší c tím vetší zátěž pro server.
Příklad použití:
ab -n 100 -c 25 https://www.domena.cz

Výkon

Pokud jde o výkon aplikace, tedy její rychlost vzhledem ke kombinaci všech možných vlivů, mají vliv na rychlost webové aplikace tyto parametry:

  • Programovací jazyk, jeho verze
  • Databáze
  • Kvalita programu
    • program na serveru (PHP, Python, Java)
    • program na straně klienta (JavaScript)
  • Cachování dat
  • Konfigurace web serveru
  • Konfigurace databáze
  • Výkon hardwaru serveru
  • Případně i rychlost a kvalita sítě
Z pohledu výkonu je samozřejmě ideální mít vlastní virtuální server. Například díky softwaru ISP Config ho můžete spravovat pohodlně i samy.

Návod

Video ukázka jak otestovat rychlost webové aplikace pod zátěží:

Výsledky

A zde jsou reálné testy několika mých webů a vzorového wordpresu, které jsem exportoval do grafu:

josefjebavy.cz-benchmark
/josefjebavy.cz-timeseries.jpg

/maps.xeres.cz-benchmark.png
maps.xeres.cz-timeseries.jpg

wireless.xeres.cz-benchmark.png
wireless.xeres.cz-timeseries.jpg

worpress.xeres.cz-benchmark.png
worpress.xeres.cz-timeseries.jpg

Testy na míru

Pokud chcete otestovat rychlost webu nebo provést zátežový test neváhejte se ozvat jsem k dispozici. Provádím i další analýzy dle potřeb zákazníka.

Články na podobné téma

Linuxový softwarový RAID
Provoz webové aplikace za proxy
Migrace mail schránek
Docker multistage build
Zálohování dat zapnutím počítače
Podman
Import Windows do virtualizace Proxmox
Docker a PHP mail
Virtualizace Proxmox
Docker a Cron
Lenovo ThinkPad X1 Carbon: zprovoznění LTE modemu EM7544
Yocto Project: Build vlastního operačního sytému pro embedded zařízení
Příprava linuxového serveru pro běh webové aplikace v jazyce Python
Jak řešit špatný výkon sdílených souborů u Dockeru
Jak začít správně používat Docker
Instalace Linuxu na dedikovaný server HPE ProLiant DL320e
Proč používat filesystém JFS
Jak bootovat z 4TB disku s GTP pomocí UEFI
Jak nainstalovat operační systém Magei Linux bez DVD mechaniky
Souborový systém Btrfs
Raspberry PI
Jak zprovoznit vzdálené přehrávání přes síť na televizi s DLNA
Upgrade Mandriva Linuxu za běhu
Poznámky ke GNU/Linux
WINE - spouštíme programy pro Windous pod Linuxem
Operační systém GNU/Linux

Odběr novinek

Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k odběru novinek.


+