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í.

Diagram that shows how the different concepts in Azure Load Testing relate to one another.

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 dvěma způsoby:

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.

Test také určuje nastavení konfigurace pro spuštění zátěžového testu:

Kromě toho můžete do testu nahrát vstupní datové soubory CSV a konfigurační soubory JMeter.

Když spustíte test, Azure Load Testing nasadí testovací skript JMeter, související soubory a konfiguraci do instancí testovacího modulu. Instance testovacího modulu pak iniciují testovací skript JMeter 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 Apache JMeter. Instance testovacího modulu spouští paralelně skript JMeter. 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 pracovního procesu Apache JMeter 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.

Teď znáte klíčové koncepty zátěžového testování Azure, abyste mohli začít vytvářet zátěžový test.