Klíčové koncepty pro nové uživatele služby Azure Load Testing
Seznamte se s klíčovými koncepty a komponentami zátěžového testování Azure. Tyto informace vám můžou pomoct efektivněji nastavit zátěžový test pro identifikaci problémů s výkonem ve vaší aplikaci.
Obecné koncepty zátěžového testování
Seznamte se s klíčovými koncepty souvisejícími se spouštěním zátěžových testů.
Virtuální uživatelé
Virtuální uživatel spustí pro vaši serverovou aplikaci konkrétní testovací případ a běží nezávisle na ostatních virtuálních uživatelích. K simulaci souběžných připojení k serverové aplikaci můžete použít více virtuálních uživatelů.
Apache JMeter také odkazuje na virtuální uživatele jako vlákna. V testovacím skriptu JMeter umožňuje element skupiny vláken určit fond virtuálních uživatelů. Informace o skupinách vláken najdete v dokumentaci k Apache JMeter.
Celkový počet virtuálních uživatelů pro zátěžový test závisí na počtu virtuálních uživatelů v testovacím skriptu a počtu instancí testovacího modulu.
Vzorec je: Total virtual users = (virtual users in the JMX file) * (number of test engine instances).
Cílový počet virtuálních uživatelů můžete dosáhnout konfigurací počtu instancí testovacího modulu, počtu virtuálních uživatelů v testovacím skriptu nebo kombinací obojího.
Doba zvýraznění
Doba zužování je doba, po kterou se můžete dostat k úplnému počtu virtuálních uživatelů pro zátěžový test. Pokud je počet virtuálních uživatelů 20 a doba spuštění je 120 sekund, bude trvat 120 sekund, než se dostanete ke všem 20 virtuálním uživatelům. Každý virtuální uživatel začne 6 (120/20) sekund po spuštění předchozího uživatele.
Doba odezvy
Doba odezvy jednotlivých požadavků nebo uplynulá doba v JMeteru je celková doba od odeslání požadavku těsně před odesláním požadavku těsně po přijetí poslední odpovědi. Doba odezvy nezahrnuje čas vykreslení odpovědi. Během zátěžového testu se nezpracuje žádný klientský kód, například JavaScript.
Latence
Latence jednotlivého požadavku je celková doba před odesláním požadavku hned po přijetí první odpovědi. Latence zahrnuje veškeré zpracování potřebné k sestavení požadavku a sestavení první části odpovědi.
Žádosti za sekundu (RPS)
Požadavky za sekundu (RPS) nebo propustnost je celkový počet požadavků na serverovou aplikaci, kterou váš zátěžový test generuje za sekundu.
Vzorec je: RPS = (počet požadavků) / (celkový čas v sekundách).
Čas se vypočítá od začátku prvního vzorku na konec posledního vzorku. Tento čas zahrnuje všechny intervaly mezi ukázkami, například pokud testovací skript obsahuje časovače.
Dalším způsobem, jak vypočítat RPS, je založený na průměrné latenci aplikace a počtu virtuálních uživatelů. Pokud chcete simulovat určitý počet RPS s zátěžovým testem vzhledem k latenci aplikace, můžete pak vypočítat požadovaný počet virtuálních uživatelů.
Vzorec je: Virtuální uživatelé = (RPS) * (latence v sekundách).
Například kvůli latenci aplikace 20 milisekund (0,02 sekund) pro simulaci 100 000 RPS byste měli nakonfigurovat zátěžový test s 2 000 virtuálními uživateli (100 000 × 0,02).
Komponenty azure Load Testing
Seznamte se s klíčovými koncepty a komponentami zátěžového testování Azure. Následující diagram poskytuje přehled o tom, jak různé koncepty vzájemně souvisejí.
Prostředek zátěžového testování
Prostředek zátěžového testování Azure je prostředek nejvyšší úrovně pro vaše aktivity zátěžového testování. Tento prostředek poskytuje centralizované místo pro zobrazení a správu zátěžových testů, výsledků testů a souvisejících artefaktů.
Při vytváření prostředku zátěžového testu zadáte jeho umístění, které určuje umístění testovacích modulů. Azure Load Testing automaticky šifruje všechny artefakty ve vašem prostředku. Můžete si vybrat mezi klíči spravovanými Microsoftem nebo pro šifrování použít vlastní klíče spravované zákazníkem.
Pokud chcete spustit zátěžový test pro vaši aplikaci, přidáte do prostředku zátěžového testování test. Prostředek může obsahovat nula nebo více testů.
Pomocí řízení přístupu na základě role v Azure můžete udělit přístup k prostředku zátěžového testování a souvisejícím artefaktům.
Azure Load Testing umožňuje používat spravované identity pro přístup ke službě Azure Key Vault pro ukládání parametrů tajných kódů zátěžového testu nebo certifikátů. Můžete použít spravovanou identitu přiřazenou uživatelem nebo systémem.
Test
Test popisuje konfiguraci zátěžového testu pro vaši aplikaci. Do existujícího prostředku zátěžového testování Azure přidáte test.
Test obsahuje testovací plán, který popisuje kroky pro vyvolání koncového bodu aplikace. Testovací plán můžete definovat jedním ze tří způsobů:
- Nahrajte testovací skript JMeter.
- Nahrajte testovací skript Aplikace Pythont.
- Zadejte seznam koncových bodů adresy URL, které se mají testovat.
Azure Load Testing podporuje všechny komunikační protokoly, které JMeter podporuje, nejen koncové body založené na protokolu HTTP. Můžete například chtít číst z databáze nebo fronty zpráv nebo zapisovat do fronty zpráv v testovacím skriptu.
Zátěžové testování Azure v současné době nepodporuje jiné testovací architektury než Apache JMeter a Applicationt.
Test také určuje nastavení konfigurace pro spuštění zátěžového testu:
- Parametry zátěžového testu, jako jsou proměnné prostředí, tajné kódy a certifikáty.
- Konfigurace zatížení pro horizontální navýšení kapacity zátěžového testu napříč několika instancemi testovacího modulu
- Kritéria selhání určující, kdy má test projít nebo selhat.
- Nastavení monitorování pro konfiguraci seznamu komponent aplikací Azure a metrik prostředků pro monitorování během testovacího běhu
Kromě toho můžete do zátěžového testu nahrát vstupní datové soubory CSV a testovací konfigurační soubory.
Když spustíte test, Azure Load Testing nasadí testovací skript, související soubory a konfiguraci do instancí testovacího modulu. Instance testovacího modulu pak iniciují testovací skript pro simulaci zatížení aplikace.
Pokaždé, když spustíte test, Azure Load Testing vytvoří testovací běh a připojí ho k testu.
Spuštění testu
Testovací běh představuje jeden spuštění zátěžového testu. Při spuštění testu obsahuje testovací běh kopii nastavení konfigurace z přidruženého testu.
Po dokončení testovacího spuštění můžete zobrazit a analyzovat výsledky zátěžového testu na řídicím panelu Azure Load Testing na webu Azure Portal.
Případně si můžete stáhnout protokoly testů a exportovat soubor výsledků testu.
Důležité
Při aktualizaci testu stávající testovací běhy automaticky nedědí nová nastavení z testu. Nová nastavení se používají pouze při spuštění testu novými testovacími běhy. Pokud znovu spustíte existující testovací běh, použijí se původní nastavení testovacího spuštění.
Testovací modul
Testovací modul je výpočetní infrastruktura spravovaná Microsoftem, která spouští testovací skript. Instance testovacího modulu spouští testovací skript paralelně. Zátěžový test můžete škálovat tak, že nakonfigurujete počet instancí testovacího modulu. Zjistěte, jak nakonfigurovat počet virtuálních uživatelů nebo simulovat cílový počet požadavků za sekundu.
Testovací moduly jsou hostované ve stejném umístění jako váš prostředek Azure Load Testing. Oblast Azure můžete nakonfigurovat při vytváření prostředku zátěžového testování Azure.
Zatímco běží testovací skript, Azure Load Testing shromažďuje a agreguje protokoly testovací architektury ze všech instancí testovacího modulu. Protokoly pro analýzu chyb během zátěžového testu si můžete stáhnout.
Komponenta aplikace
Když spustíte zátěžový test pro aplikaci hostované v Azure, můžete monitorovat metriky prostředků pro různé komponenty aplikací Azure (metriky na straně serveru). Během spuštění zátěžového testu a po dokončení testu můžete monitorovat a analyzovat metriky prostředků na řídicím panelu Azure Load Testing.
Při vytváření nebo aktualizaci zátěžového testu můžete nakonfigurovat seznam součástí aplikace, které bude azure Load Testing monitorovat. Můžete upravit seznam výchozích metrik prostředků pro každou komponentu aplikace.
Přečtěte si další informace o typech prostředků Azure, které podporuje zátěžové testování Azure.
Metriky
Během zátěžového testu shromažďuje Zátěžové testování Azure metriky o spuštění testu. Existují dva typy metrik:
Metriky na straně klienta jsou hlášeny testovacími moduly. Mezi tyto metriky patří počet virtuálních uživatelů, doba odezvy požadavku, počet neúspěšných požadavků nebo počet požadavků za sekundu. Kritéria selhání testu můžete definovat na základě těchto metrik na straně klienta.
Metriky na straně serveru jsou k dispozici pro aplikace hostované v Azure a poskytují informace o komponentách aplikací Azure. Azure Load Testing se integruje se službou Azure Monitor, včetně application Přehledy a Container Insights, a zaznamenává podrobnosti ze služeb Azure. V závislosti na typu služby jsou k dispozici různé metriky. Metriky můžou být například pro počet čtení databáze, typ odpovědí HTTP nebo spotřeba prostředků kontejneru.
Související obsah
Teď znáte klíčové koncepty zátěžového testování Azure, abyste mohli začít vytvářet zátěžový test.
- Zjistěte, jak funguje zátěžové testování Azure.
- Zjistěte, jak vytvořit a spustit zátěžový test založený na adrese URL pro web.
- Zjistěte, jak identifikovat kritické body výkonu v aplikaci Azure.
- Zjistěte, jak nastavit automatizované regresní testování pomocí CI/CD.