Co je Zátěžové testování Azure?
Azure Load Testing je plně spravovaná služba zátěžového testování, která umožňuje generovat zatížení ve velkém měřítku. Tato služba simuluje provoz vašich aplikací bez ohledu na to, kde jsou hostované. Vývojáři, testeři a pracovníci kontroly kvality (QA) ji mohou používat k optimalizaci výkonu, škálovatelnosti nebo kapacity aplikací.
Rychle vytvořit zátěžový test pro vaši webovou aplikaci pomocí adresy URL a bez předchozích znalostí testovacích nástrojů. Azure Load Testing abstrahuje složitost a infrastrukturu pro spouštění zátěžového testu ve velkém měřítku.
V případě pokročilejších scénářů zátěžového testování můžete také vytvořit zátěžový test nahráním testovacího skriptu. Azure Load Testing podporuje spouštění testů založených na Apache JMeteru nebo testů založenýchnach Váš testovací plán se může například skládat z více požadavků aplikace, chcete volat koncové body jiného typu než HTTP, nebo používáte vstupní data a parametry, aby byl test dynamičtější.
Pokud je vaše aplikace hostovaná v Azure, Azure Load Testing shromažďuje podrobné metriky prostředků, které vám pomůžou identifikovat kritické body výkonu napříč komponentami aplikace Azure.
Pokud chcete včas zachytit regrese výkonu aplikace, přidejte zátěžový test do pracovního postupu kontinuální integrace a průběžného nasazování (CI/CD). Využijte kritéria selhání testu k definování a ověření požadavků na kvalitu aplikace.
Azure Load Testing umožňuje otestovat koncové body privátních aplikací nebo aplikace, které hostujete místně. Další informace najdete ve scénářích nasazení zátěžového testování Azure ve virtuální síti.
Následující diagram znázorňuje přehled architektury zátěžového testování Azure.
Poznámka:
Na obrázku s přehledem se dozvíte, jak Azure Load Testing používá Azure Monitor k zachycení metrik komponent aplikací. Přečtěte si další informace o podporovaných typech prostředků Azure.
Přečtěte si další informace o klíčových konceptech pro zátěžové testování Azure.
Scénáře použití
Azure Load Testing může používat architektury pro testování Apache JMeter nebo Apache JMeter a podporuje širokou škálu typů aplikací a komunikačních protokolů. Následující seznam obsahuje příklady podporovaných typů aplikací nebo koncových bodů:
- Webové aplikace využívající protokol HTTP nebo HTTPS
- Rozhraní REST API
- Databáze přes JDBC
- Koncové body založené na protokolu TCP
Pro JMeter můžete použít moduly plug-in JMeter v testovacím skriptu, můžete načíst test více typů aplikací.
Pomocí rychlého testování můžete otestovat jeden koncový bod HTTP založený na adrese URL. Nahráním skriptu JMeter můžete použít všechny komunikační protokoly podporované JMeter.
Zátěžové testování Azure v současné době nepodporuje jiné testovací architektury než Apache JMeter a Applicationt.
Identifikace kritických bodů výkonu pomocí vysoce škálovatelných zátěžových testů
Problémy s výkonem často zůstávají nezjištěné, dokud se aplikace nenačte. Na webu Azure Portal můžete zahájit zátěžový test ve velkém měřítku, abyste se dozvěděli, jak se vaše aplikace chová pod stresem. Během testování poskytuje řídicí panel Azure Load Testing živou aktualizaci metrik na straně klienta a serveru.
Po dokončení zátěžového testu můžete pomocí řídicího panelu analyzovat výsledky testu a identifikovat kritické body výkonu. U aplikací hostovaných v Azure se na řídicím panelu zobrazují podrobné metriky prostředků komponent aplikací Azure. Začněte kurzem pro identifikaci kritických bodů výkonu pro aplikace hostované v Azure.
Azure Load Testing uchovává historii testovacích běhů a umožňuje vizuálně porovnat více spuštění a zjišťovat regrese výkonu v průběhu času.
Výsledky testů si můžete stáhnout také pro analýzu v nástroji třetí strany.
Povolení automatizovaného zátěžového testování
Zátěžové testování Azure můžete integrovat do kanálu CI/CD v smysluplných bodech během životního cyklu vývoje. Můžete například automaticky spustit zátěžový test na konci každého sprintu nebo v přípravném prostředí, abyste ověřili sestavení release candidate.
Začněte přidáním zátěžového testování do pracovního postupu CI/CD, abyste rychle identifikovali snížení výkonu vaší aplikace při zatížení.
V konfiguraci testu zadejte kritéria selhání testu, která zachytí výkon aplikace nebo regrese stability v rané fázi vývojového cyklu. Můžete například upozornit, když průměrná doba odezvy nebo počet chyb překročí určitou prahovou hodnotu.
Azure Load Testing automaticky zastaví automatizovaný zátěžový test v reakci na konkrétní chybové stavy. Alternativně můžete použít také naslouchací proces AutoStop ve skriptu Apache JMeter. Automatické zastavování ochrany před neúspěšným testy dále způsobuje náklady, například kvůli nesprávně nakonfigurované adrese URL koncového bodu. Zjistěte, jak můžete pro zátěžový test nakonfigurovat automatické zastavení.
Zátěžové testování Azure můžete aktivovat z pracovních postupů Azure Pipelines nebo GitHub Actions nebo použít Azure CLI k integraci s dalšími nástroji CI.
Jak funguje zátěžové testování Azure?
Azure Load Testing používá pro spouštění zátěžových testů Apache JMeter nebo Apache JMeter. Moduly plug-in Apache JMeter můžete použít nebo https://jmeter-plugins.org nahrát vlastní kód modulu plug-in. Azure Load Testing podporuje všechny komunikační protokoly, které JMeter podporuje. Například pomocí zátěžového testování Azure načtěte připojení k databázi nebo frontu zpráv. Přečtěte si další informace o podporovaných funkcích Apache JMeter.
Testovací moduly pro zátěžové testování Azure abstrahuje požadovanou infrastrukturu pro spuštění zátěžového testu ve velkém měřítku. Každá instance testovacího modulu spustí testovací skript, který simuluje velký počet virtuálních uživatelů současně přistupující ke koncovým bodům aplikace. Když vytvoříte zátěžový test na základě adresy URL (rychlého testu), Azure Load Testing automaticky vygeneruje testovací skript za vás. Pokud chcete škálovat zátěžový test, můžete nakonfigurovat počet testovacích modulů.
Aplikaci můžete hostovat v zatížení kdekoli: v Azure, v místním prostředí nebo v jiných cloudech. Pokud chcete spustit zátěžový test pro služby, které nemají žádný veřejný koncový bod, nasaďte zátěžové testování Azure ve virtuální síti.
Během zátěžového testu shromáždí Azure Load Testing následující metriky prostředků a zobrazí je na řídicím panelu:
Metriky na straně klienta poskytují podrobnosti hlášené testovacím modulem. Mezi tyto podrobnosti patří počet virtuálních uživatelů, doba odezvy požadavku nebo počet požadavků za sekundu.
Metriky na straně serveru poskytují informace o komponentách aplikace 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.
Azure Load Testing automaticky zahrnuje osvědčené postupy pro sítě Azure, které vám pomůžou zajistit bezpečné a spolehlivé spouštění testů. Zátěžové testy se automaticky zastaví, pokud koncové body aplikace nebo komponenty Azure spustí požadavky na omezování.
Služba automaticky šifruje všechna data uložená v prostředku zátěžového testování pomocí klíčů spravovaných Microsoftem (klíče spravované službou). Tato data například zahrnují váš testovací skript Apache JMeter nebo Pythont, konfigurační soubory a další. Alternativně můžete službu nakonfigurovat tak , aby používala klíče spravované zákazníkem.
Rezidenci dat v oblasti
Zátěžové testování Azure neukládá ani nezpracuje zákaznická data mimo oblast, ve které nasazujete instanci služby.
Související obsah
Začněte používat Zátěžové testování Azure:
- Rychlý start: Vytvoření zátěžového testu založeného na adrese URL
- Rychlý start: Vytvoření zátěžového testu pomocí skriptu JMeter
- Rychlý start: Vytvoření zátěžového testu pomocí skriptu Pythont.
- Seznamte se s klíčovými koncepty pro zátěžové testování Azure.