Definování kritérií selhání pro zátěžové testy pomocí služby Azure Load Testing
V tomto článku se dozvíte, jak definovat kritéria selhání nebo kritéria automatického zastavení zátěžových testů pomocí zátěžového testování Azure. Kritéria selhání umožňují definovat očekávání výkonu a kvality pro vaši aplikaci při zatížení. Azure Load Testing podporuje různé metriky klienta a serveru pro definování kritérií selhání, jako je míra chyb nebo procento procesoru pro prostředek Azure. Kritéria automatického zastavení umožňují automaticky zastavit zátěžový test, když míra chyb překročí danou prahovou hodnotu.
Požadavky
- Účet Azure s aktivním předplatným. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Prostředek zátěžového testování Azure. Pokud potřebujete vytvořit prostředek azure Load Testing, přečtěte si rychlý start Vytvoření a spuštění zátěžového testu.
Kritéria selhání zátěžového testu
Kritéria selhání zátěžového testu jsou podmínky pro metriky, které by test měl splňovat. Kritéria testu definujete na úrovni zátěžového testu ve službě Azure Load Testing. Zátěžový test může mít jedno nebo více testovacích kritérií. Pokud se alespoň jedno z kritérií testu vyhodnotí jako true, zátěžový test získá stav selhání .
Pro zátěžový test můžete definovat maximálně 50 testovacích kritérií. Pokud pro stejnou metriku existuje více kritérií, použije se kritérium s nejnižší prahovou hodnotou.
Struktura kritérií selhání pro metriky klienta
Formát kritérií selhání ve službě Azure Load Testing se řídí podmíněným příkazem pro podporovanou metriku. Například zajistěte, aby průměrný počet požadavků za sekundu byl větší než 500.
U metrik na straně klienta můžete definovat testovací kritéria na dvou úrovních. Zátěžový test může kombinovat kritéria na různých úrovních.
- Na úrovni zátěžového testu. Pokud chcete například zajistit, aby celkové procento chyb nepřekračovalo prahovou hodnotu. Struktura kritérií je:
Aggregate_function (client_metric) condition threshold
. - Na úrovni požadavku JMeter (sampler JMeter). Můžete například zadat prahovou hodnotu doby odezvy požadavku getProducts, ale ignorovat dobu odezvy žádosti o přihlášení. Struktura kritérií je:
Request: Aggregate_function (client_metric) condition threshold
.
Následující tabulka popisuje různé komponenty:
Parametr | Popis |
---|---|
Client metric |
Požadováno. Metrika klienta, na které má být podmínka použita. |
Aggregate function |
Povinný: Agregační funkce, která se má použít na metriku klienta. |
Condition |
Povinný: Relační operátor, například greater than , nebo less than . |
Threshold |
Povinný: Číselná hodnota, která se má porovnat s metrikou klienta. |
Request |
Nepovinné. Název vzorkovníku ve skriptu JMeter, na který se kritérium vztahuje. Pokud nezadáte název požadavku, použije se kritérium na agregaci všech požadavků ve skriptu. Do skriptu JMeter nezahrnujte žádné osobní údaje do názvu vzorkovníku. Názvy sampleru se zobrazí na řídicím panelu výsledků zátěžového testování Azure. |
Podporované metriky klienta pro kritéria selhání
Azure Load Testing podporuje následující metriky klienta:
Metrika | Agregační funkce | Prahová hodnota | Podmínka | Popis |
---|---|---|---|---|
response_time_ms |
avg (průměr)min (minimum)max (maximum)pxx (percentil), xx může být 50, 75, 90, 95, 96, 97, 98, 99, 999 a 9999 |
Celočíselná hodnota představující počet milisekund (ms). | > (větší než)< (menší než) |
Doba odezvy nebo uplynulý čas v milisekundách Další informace o uplynulé době najdete v dokumentaci k Apache JMeter. |
latency |
avg (průměr)min (minimum)max (maximum)pxx (percentil), xx může být 50, 90, 95, 99 |
Celočíselná hodnota představující počet milisekund (ms). | > (větší než)< (menší než) |
Latence v milisekundách Další informace o latenci najdete v dokumentaci k Apache JMeter. |
error |
percentage |
Číselná hodnota v rozsahu 0–100 představující procento. | > (větší než) |
Procento neúspěšných požadavků |
requests_per_sec |
avg (průměr) |
Číselná hodnota s až dvěma desetinnými místy | > (větší než) < (menší než) |
Počet žádostí za sekundu |
requests |
count |
Celočíselná hodnota | > (větší než) < (menší než) |
Celkový počet požadavků |
Definování kritérií selhání zátěžového testu pro metriky klienta
V této části nakonfigurujete kritéria testu pro metriku klienta pro zátěžový test na webu Azure Portal.
Na webu Azure Portal přejděte k prostředku azure Load Testing.
V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.
V seznamu vyberte zátěžový test a pak vyberte Upravit.
V podokně Kritéria testu vyplňte hodnoty Metrika, Agregační funkce, Podmínka a Prahová hodnota testu.
Volitelně můžete zadat informace o názvu požadavku a přidat testovací kritérium pro konkrétní požadavek JMeter. Hodnota by se měla shodovat s názvem vzorkovníku JMeter v souboru JMX.
Chcete-li uložit změny, vyberte Použít .
Když teď spustíte zátěžový test, Azure Load Testing použije kritéria testu k určení stavu spuštění zátěžového testu.
Spusťte test a zobrazte stav na řídicím panelu zátěžového testu.
Na řídicím panelu se zobrazují všechna testovací kritéria a jejich stav. Celkový stav testu se nepovedl, pokud bylo splněno alespoň jedno kritérium.
Access app component for test criteria on server metrics
Když nastavíte kritéria selhání pro metriku v komponentě aplikace, prostředek zátěžového testování používá spravovanou identitu pro přístup k této komponentě. Po konfiguraci spravované identity musíte udělit spravovanou identitu prostředku zátěžového testování, abyste mohli číst tyto hodnoty z komponenty aplikace.
Pokud chcete udělit oprávnění k prostředkům zátěžového testování Azure ke čtení metrik z komponenty aplikace:
Na webu Azure Portal přejděte do komponenty vaší aplikace.
V levém podokně vyberte Řízení přístupu (IAM) a pak vyberte + Přidat a pak vyberte Přidat přiřazení role.
Na kartě Role v části Role funkcí úloh vyhledejte Čtenář monitorování nebo Přispěvatel monitorování.
Na kartě Členové v části Přiřadit přístup vyberte Spravovanou identitu.
Klikněte na Vybrat členy, vyhledejte a vyberte spravovanou identitu prostředku zátěžového testování a pak vyberte Další. Pokud používáte spravovanou identitu přiřazenou systémem, název spravované identity odpovídá názvu spravované identity prostředku zátěžového testování Azure.
Výběrem možnosti Zkontrolovat a přiřadit identitu oprávnění
Když se test spustí, spravovaná identita přidružená k vašemu prostředku zátěžového testování teď může číst metriky zátěžového testu z komponenty vaší aplikace.
Definování kritérií selhání zátěžového testu pro metriky serveru
Důležité
Zátěžové testování Azure nepodporuje konfiguraci kritérií selhání na metrikách na straně serveru z Azure Pipelines/GitHub Actions.
V této části nakonfigurujete kritéria selhání testu na metrikách na straně serveru pro zátěžový test na webu Azure Portal.
Na webu Azure Portal přejděte k prostředku azure Load Testing.
Vyberte Vytvořit test.
Na kartě Monitorování nakonfigurujte součásti aplikace, které chcete monitorovat během testu.
Nakonfigurujte referenční identitu metrik. Identitou může být identita přiřazená systémem prostředku zátěžového testování nebo jedna z identit přiřazených uživatelem. Ujistěte se, že používáte stejnou identitu, kterou jste předtím udělili.
V podokně Kritéria testu vyplňte ID prostředku, obor názvů, metriku, agregaci, podmínku, prahové hodnoty testu. Kritéria selhání můžete nastavit pouze pro prostředky nebo komponenty aplikace, které monitorujete během testu.
Chcete-li uložit změny, vyberte Použít . Když teď spustíte zátěžový test, Azure Load Testing použije kritéria testu k určení stavu spuštění zátěžového testu.
Spusťte test a zobrazte stav na řídicím panelu zátěžového testu. Na řídicím panelu se zobrazují všechna testovací kritéria a jejich stav. Celkový stav testu se nepovedl, pokud bylo splněno alespoň jedno kritérium.
Automatická konfigurace zastavení
Zátěžové testování Azure automaticky zastaví zátěžový test, pokud procento chyby překročí danou prahovou hodnotu pro určité časové období. 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.
V konfiguraci zátěžového testu můžete povolit nebo zakázat funkci automatického zastavení a nakonfigurovat prahovou hodnotu procenta chyby a časové období. Ve výchozím nastavení Azure Load Testing automaticky zastaví zátěžový test, který má procento chyby, které je alespoň 90 % během jakéhokoli 60sekundového časového intervalu.
Funkci automatického zastavení služby Azure Load Testing můžete použít v kombinaci s naslouchacím procesem AutoStop ve skriptu JMeter. Zátěžový test se automaticky zastaví, když je splněna jedna z kritérií v konfiguraci automatického zastavení nebo naslouchací proces automatického naslouchacího procesu JMeter AutoStop.
Upozornění
Pokud pro zátěžový test zakážete automatické zastavení, můžou vám vzniknout náklady i v případě nesprávné konfigurace zátěžového testu.
Konfigurace automatického zastavení pro zátěžový test na webu Azure Portal:
Na webu Azure Portal přejděte k prostředku azure Load Testing.
V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.
V seznamu vyberte zátěžový test a pak vyberte Upravit. Pokud chcete vytvořit nový test, vyberte možnost Vytvořit>nahrání skriptu JMeter.
Přejděte na kartu Kritéria testu a nakonfigurujte funkci automatického zastavení.
Povolte nebo zakažte automatické zastavení zátěžového testu pomocí ovládacího prvku automatického zastavení testu .
Pokud povolíte automatické zastavení, můžete vyplnit pole Procento chyby a Časové okno . Zadejte časové okno v sekundách.
Pokud chcete uložit změny, vyberte Použít nebo Zkontrolovat a vytvořit , pokud vytváříte nový zátěžový test.
Další kroky
Informace o parametrizaci zátěžového testu pomocí tajných kódů najdete v tématu Parametrizace zátěžového testu.
Další informace o automatizaci testů výkonnosti najdete v tématu Konfigurace automatizovaného testování výkonu.