Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í.
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ů:
- Nahrajte testovací skript JMeter.
- Nahrajte testovací skript Locust.
- Zadejte seznam koncových bodů adresy URL, které se mají testovat.
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:
- 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í k určení seznamu komponent aplikace Azure a metrik prostředků, které budou sledovány během testovacího procesu.
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 .
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.