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 pro definování kritérií selhání, jako je míra chyb nebo doba odezvy. 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 na straně klienta, které by měl test 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í .

Testovací kritéria můžete definovat 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.
  • 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í.

Pro zátěžový test můžete definovat maximálně 50 testovacích kritérií. Pokud pro stejnou metriku klienta existuje více kritérií, použije se kritérium s nejnižší prahovou hodnotou.

Struktura kritérií selhání

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.

Kritéria selhání mají následující strukturu:

  • Kritéria testu na úrovni zátěžového testu: Aggregate_function (client_metric) condition threshold.
  • Testová kritéria použitá pro konkrétní požadavky JMeter: 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, 90, 95, 99
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

V této části nakonfigurujete kritéria testu 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.

    Screenshot of the list of tests for an Azure load testing resource in the Azure portal, highlighting the 'Edit' button.

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

    Screenshot of the 'Test criteria' pane for a load test in the Azure portal and highlights the fields for adding a test criterion.

    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.

    Screenshot of the JMeter user interface, highlighting the request name.

  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.

    Screenshot that shows the test criteria on the load test dashboard.

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.

      Screenshot of the 'Test criteria' pane for a load test in the Azure portal, highlighting the auto stop functionality.

  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