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
        
            Databáze SAP HANA
                            
            
        
            Příkaz AT
                            
            
        
            Docker build multiarch image
                            
            
        
            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.
+
 
             
             
             
             
          