Konfigurace zátěžového testování Azure pro vysoké zatížení
V tomto článku se dozvíte, jak nastavit zátěžový test pro vysoké zatížení pomocí služby Azure Load Testing.
Nakonfigurujte více instancí testovacího modulu tak, aby bylo možné škálovat počet virtuálních uživatelů pro zátěžový test a simulovat vysoký počet požadavků za sekundu. Pokud chcete dosáhnout optimální distribuce zatížení, můžete monitorovat metriky stavu testovací instance na řídicím panelu Azure Load Testing.
Požadavky
Účet Azure s aktivním předplatným. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Existující prostředek Azure Load Testing. Pokud chcete vytvořit prostředek Azure Load Testing, projděte si rychlý start Vytvoření a spuštění zátěžového testu.
Určení požadavků za sekundu
Maximální počet požadavků za sekundu (RPS), které může Azure Load Testing generovat pro zátěžový test, závisí na latenci aplikace a počtu virtuálních uživatelů . Latence aplikace je celková doba od odeslání žádosti aplikace testovacím modulem do přijetí odpovědi. Počet virtuálních uživatelů je počet paralelních požadavků, které Azure Load Testing provádí v daném okamžiku.
Pokud chcete vypočítat počet požadavků za sekundu, použijte následující vzorec: RPS = (počet jednotek VU) * (1/latence v sekundách).
Pokud je například latence aplikace 20 milisekund (0,02 sekundy) a generujete zatížení 2 000 VU, můžete dosáhnout přibližně 100 000 RPS (2000 × 1/0,02s).
Pokud chcete dosáhnout cílového počtu požadavků za sekundu, nakonfigurujte pro zátěžový test celkový počet virtuálních uživatelů.
Poznámka
Apache JMeter pouze hlásí požadavky, které se dostaly na server a zpět, a to buď úspěšné, nebo ne. Pokud se Apache JMeter nemůže připojit k vaší aplikaci, skutečný počet požadavků za sekundu bude nižší než maximální hodnota. Příčinou může být příliš zaneprázdněný server, aby mohl zpracovat požadavek, nebo chybějící certifikát TLS/SSL. Pokud chcete diagnostikovat problémy s připojením, můžete zkontrolovat graf Chyb na řídicím panelu zátěžového testování a stáhnout soubory protokolu zátěžového testu.
Instance testovacího modulu a virtuální uživatelé
Ve skriptu Apache JMeter můžete zadat počet paralelních vláken. Každé vlákno představuje virtuálního uživatele, který přistupuje ke koncovému bodu aplikace paralelně. Doporučujeme ponechat počet vláken ve skriptu nižší než maximálně 250.
Ve službě Azure Load Testing zodpovídají za spuštění skriptu Apache JMeter instance testovacího modulu . Počet instancí pro zátěžový test můžete nakonfigurovat. Všechny instance testovacího modulu běží paralelně.
Celkový počet virtuálních uživatelů pro zátěžový test je pak: VUs = (# threads) * (# instance testovacího modulu).
Pokud chcete simulovat cílový počet virtuálních uživatelů, můžete nakonfigurovat paralelní vlákna ve skriptu JMeter a odpovídajícím způsobem instance modulu pro zátěžový test. Monitorováním metrik testovacího modulu optimalizujte počet instancí.
Pokud například chcete simulovat 1 000 virtuálních uživatelů, nastavte počet vláken ve skriptu Apache JMeter na 250. Potom nakonfigurujte zátěžový test se čtyřmi instancemi testovacího modulu (to znamená 4 x 250 vláken).
Umístění prostředku Azure Load Testing určuje umístění instancí testovacího modulu. Všechny instance testovacího modulu v rámci prostředku zátěžového testování jsou hostované ve stejné oblasti Azure.
Konfigurace testovacího plánu
V této části nakonfigurujete nastavení škálování zátěžového testu.
Přihlaste se k Azure Portal pomocí přihlašovacích údajů pro vaše předplatné Azure.
Přejděte k prostředku zátěžového testování. V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.
V seznamu vyberte zátěžový test a pak vyberte Upravit.
Konfiguraci testu můžete také upravit na stránce s podrobnostmi o testu. Uděláte to tak, že vyberete Konfigurovat a pak vyberete Test.
Na stránce Upravit test vyberte kartu Načtení . Pomocí posuvníku Instance modulu aktualizujte počet instancí testovacího modulu nebo zadejte hodnotu přímo do vstupního pole.
Výběrem možnosti Použít upravte test a při opětovném spuštění použijte novou konfiguraci.
Monitorování metrik instancí modulu
Abyste měli jistotu, že samotné instance testovacího modulu nejsou kritickým bodem výkonu, můžete monitorovat metriky prostředků instance testovacího modulu. Vysoké využití prostředků pro testovací instanci může negativně ovlivnit výsledky zátěžového testu.
Azure Load Testing hlásí pro každou instanci čtyři metriky prostředků:
- Procento procesoru.
- Procento paměti.
- Síťové bajty za sekundu.
- Počet virtuálních uživatelů.
Instance testovacího modulu se považuje za v pořádku, pokud průměrné procento procesoru nebo procento paměti po dobu trvání testovacího běhu zůstává nižší než 75 %.
Zobrazení metrik prostředků modulu:
Přejděte k prostředku zátěžového testování. V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.
V seznamu vyberte zátěžový test a zobrazte seznam testovacích běhů.
V seznamu testovacích běhů vyberte testovací běh.
Na řídicím panelu testovacího spuštění vyberte Stav modulu a zobrazte metriky prostředků modulu.
Volitelně můžete pomocí ovládacích prvků filtrů vybrat konkrétní instanci testovacího modulu.
Řešení potíží s instancemi modulu, které nejsou v pořádku
Pokud jedna nebo více instancí ukazuje vysoké využití prostředků, může to mít vliv na výsledky testu. Pokud chcete tento problém vyřešit, vyzkoušejte jeden nebo více následujících kroků:
Snižte počet vláken (virtuálních uživatelů) na testovací modul. Pokud chcete dosáhnout cílového počtu virtuálních uživatelů, můžete zvýšit počet instancí modulu pro zátěžový test.
Ujistěte se, že je váš skript efektivní bez redundantního kódu.
Pokud je stav modulu neznámý, spusťte test znovu.
Další kroky
- Další informace o porovnávání výsledků testů najdete v tématu Porovnání výsledků více testů.
- Další informace o automatizaci testů výkonu najdete v tématu Konfigurace automatizovaného testování výkonu.
- Další informace o limitech a kvótách služeb najdete v tématu Azure Load Testing.