Jak provést zátěžový test webové aplikace
18. listopadu 2018Mí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:
- https://tools.pingdom.com/
- https://www.webpagetest.org/
- https://gtmetrix.com/
- https://www.uptrends.com/
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
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í.
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ě
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:
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
VMware vs Proxmox: porovnání výkonu
GitLab CI/CD: automatizace testů a nasazení aplikace
Migrace VPS z VMware na Proxmox
Změna licencování VMware
Provoz Microsoft SQL serveru na Linuxu
Zálohování: Proxmox backup server
Linux jako router a firewall
Jak náhrát docker image do Docker Registry
Linux: Logical Volume Management
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 Mageia 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.
+