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

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.

  1. Na webu Azure Portal přejděte k prostředku azure Load Testing.

  2. V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.

  3. V seznamu vyberte zátěžový test a pak vyberte Upravit.

    Snímek obrazovky se seznamem testů pro prostředek zátěžového testování Azure na webu Azure Portal a zvýrazněným tlačítkem Upravit

  4. V podokně Kritéria testu vyplňte hodnoty Metrika, Agregační funkce, Podmínka a Prahová hodnota testu.

    Snímek obrazovky s podoknem Kritéria testu pro zátěžový test na webu Azure Portal a zvýrazněním polí pro přidání kritéria 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.

    Snímek obrazovky uživatelského rozhraní JMeter se zvýrazněním názvu požadavku

  5. 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.

  6. 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.

    Snímek obrazovky znázorňující kritéria testu na řídicím panelu zátěžového testu

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:

  1. Na webu Azure Portal přejděte do komponenty vaší aplikace.

  2. V levém podokně vyberte Řízení přístupu (IAM) a pak vyberte + Přidat a pak vyberte Přidat přiřazení role.

    Snímek obrazovky s řízením přístupu (IAM) v komponentě aplikace, na které se mají nastavit kritéria selhání

  3. Na kartě Role v části Role funkcí úloh vyhledejte Čtenář monitorování nebo Přispěvatel monitorování.

  4. Na kartě Členové v části Přiřadit přístup vyberte Spravovanou identitu.

  5. 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.

  6. Výběrem možnosti Zkontrolovat a přiřadit identitu oprávnění

    Snímek obrazovky s přiřazením oprávnění ke čtení metrik k prostředku zátěžového testová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.

  1. Na webu Azure Portal přejděte k prostředku azure Load Testing.

  2. Vyberte Vytvořit test.

  3. Na kartě Monitorování nakonfigurujte součásti aplikace, které chcete monitorovat během testu.

  4. 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.

    Snímek obrazovky s konfigurací referenční identity metrik

  5. 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.

    Snímek obrazovky s konfigurací kritérií selhání na metrikách serveru

  6. 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.

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

    Snímek obrazovky řídicího panelu zobrazující výsledky testu

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:

  1. Na webu Azure Portal přejděte k prostředku azure Load Testing.

  2. V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.

  3. 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.

  4. 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.

      Snímek obrazovky s podoknem Kritéria testu pro zátěžový test na webu Azure Portal se zvýrazněnou funkcí automatického zastavení

  5. Pokud chcete uložit změny, vyberte Použít nebo Zkontrolovat a vytvořit , pokud vytváříte nový zátěžový test.

Další kroky