Sdílet prostřednictvím


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.

Locust odkazuje na virtuální uživatele jako na uživatele. Uživatele potřebné pro váš test můžete zadat ve webovém rozhraní jako argument příkazového řádku, prostřednictvím proměnné prostředí nebo konfiguračního souboru. Další informace naleznete v možnostech konfigurace v dokumentaci k Locustu.

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.

Pro zátěžové testy založené na JMeteru je vzorec: Total virtual users = (virtual users in the JMX file) * (počet instancí testovacího modulu).

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.

U zátěžových testů založených na Locustu je celkový počet virtuálních uživatelů roven počtu uživatelů uvedených v některé z konfiguračních možností. Pak můžete nakonfigurovat počet instancí testovacího modulu potřebných k vygenerování celkového počtu uživatelů.

Doba náběhu

Doba nárůstu je doba potřebná k dosažení plného 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.

Pro konfiguraci nárůstu počtu uživatelů v Locust můžete použít rychlost spuštění. Rychlost spawnu je počet uživatelů přidaných za sekundu. Pokud je například počet uživatelů 20 a rychlost spawnu je 2, přidají se 2 uživatelé každou sekundu a bude trvat 10 sekund, než se dostanou ke všem 20 uživatelům.

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 zpracování nezahrnuje čas na zobrazení odpovědi. Během zátěžového testu se nezpracuje žádný klientský kód, například JavaScript.

Oneskorení přenosu

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 znázorňující, jak různé koncepty ve službě Azure Load Testing 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 test do prostředku pro zátěžové testování. 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.

Zátěžové testování Azure umožňuje používat spravované identity pro různé účely, jako je například přístup ke službě Azure Key Vault k ukládání parametrů tajného klíče zátěžového testu nebo certifikátů, přístup k metrikám služby Azure Monitor ke konfiguraci kritérií selhání nebo simulaci toků ověřování na základě spravované identity.

Zkouška

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ů:

Azure Load Testing podporuje všechny komunikační protokoly, které JMeter a Intunet podporují, 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 databáze či fronty zpráv v testovacím skriptu.

Zátěžové testování Azure v současné době nepodporuje jiné testovací rámce než Apache JMeter a Locust.

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

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.

Testovací běh

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í nových testů, když spouštíte test . Pokud znovu spustíte existující testovací běh, použijí se původní nastavení testovacího běhu.

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

Azure Load Testing používá virtuální počítače velikosti Standard_D4d_v4 se čtyřmi vCPU, 16 GB pamětí a operačním systémem Azure Linux jako testovací moduly. Pro testy založené na JMeteru používají testovací moduly JDK 21 a Apache JMeter verze 5.6.3. Pro testy založené na Locustu používají testovací moduly Python 3.9.19 a Locust verzi 2.33.2.

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.

Metodiky

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 enginy. 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 Insights a Container Insights, za účelem zachycení podrobností 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. Na základě těchto metrik na straně serveru můžete také definovat kritéria selhání testu .

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