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.

Pro pokročilejší scénáře zátěžového testování můžete vytvořit zátěžový test opětovným použitím existujícího testovacího skriptu Apache JMeter, oblíbeného opensourcového nástroje pro načítání a výkon. 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.

Diagram that shows the Azure Load Testing architecture.

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 používá 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

Pomocí modulů plug-in JMeter ve vašem testovacím skriptu můžete načíst 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.

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.

Jak funguje zátěžové testování Azure?

Azure Load Testing používá apache JMeter ke spouštění zátěžových testů. Moduly plug-in Apache JMeter můžete použít nebo https://jmeter-plugins.orgnahrát vlastní kód modulu plug-in. Azure Load Testing podporuje všechny komunikační protokoly, které JMeter podporuje. Pokud například chcete načíst zátěžový test 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 spouští váš skript JMeter, 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 JMeter 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í skript Apache JMeter, 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.

Další kroky

Začněte používat Zátěžové testování Azure: