Definiera redundanskriterier för belastningstester med hjälp av Azure Load Testing

I den här artikeln får du lära dig hur du definierar villkor för fel eller automatiskt stopp för dina belastningstester med Azure Load Testing. Med kriterium för fel kan du definiera prestanda- och kvalitetsförväntningar för ditt program under belastning. Azure Load Testing stöder olika klientmått för att definiera felkriterier, till exempel felfrekvens eller svarstid. Med kriterier för automatisk stopp kan du automatiskt stoppa belastningstestet när felfrekvensen överskrider ett visst tröskelvärde.

Förutsättningar

  • Ett Azure-konto med en aktiv prenumeration. Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
  • En Azure-belastningstestningsresurs. Om du behöver skapa en Azure Load Testing-resurs kan du läsa snabbstarten Skapa och köra ett belastningstest.

Felvillkor för belastningstest

Felvillkor för belastningstest är villkor för mått på klientsidan som testet ska uppfylla. Du definierar testvillkor på belastningstestnivå i Azure Load Testing. Ett belastningstest kan ha ett eller flera testvillkor. När minst ett av testvillkoren utvärderas till sant får belastningstestet statusen misslyckad .

Du kan definiera testkriterier på två nivåer. Ett belastningstest kan kombinera kriterier på olika nivåer.

  • På belastningstestnivån. Till exempel för att säkerställa att den totala felprocenten inte överskrider ett tröskelvärde.
  • På JMeter-begärandenivån (JMeter sampler). Du kan till exempel ange ett tröskelvärde för svarstid för getProducts-begäran, men bortse från svarstiden för inloggningsbegäran.

Du kan definiera högst 50 testvillkor för ett belastningstest. Om det finns flera kriterier för samma klientmått används kriteriet med det lägsta tröskelvärdet.

Kriteriumstruktur för fel

Formatet för villkor för fel i Azure Load Testing följer ett villkorsuttryck för ett mått som stöds. Kontrollera till exempel att det genomsnittliga antalet begäranden per sekund är större än 500.

Kriterium för fel har följande struktur:

  • Testvillkor på belastningstestnivå: Aggregate_function (client_metric) condition threshold.
  • Testvillkor som tillämpas på specifika JMeter-begäranden: Request: Aggregate_function (client_metric) condition threshold.

I följande tabell beskrivs de olika komponenterna:

Parameter Description
Client metric Obligatoriskt. Det klientmått som villkoret ska tillämpas på.
Aggregate function Obligatoriska. Den mängdfunktion som ska tillämpas på klientmåttet.
Condition Obligatoriska. Jämförelseoperatorn, till exempel greater than, eller less than.
Threshold Obligatoriska. Det numeriska värdet som ska jämföras med klientmåttet.
Request Valfritt. Namnet på provtagaren i JMeter-skriptet som kriteriet gäller för. Om du inte anger ett namn på begäran gäller kriteriet för sammanställningen av alla begäranden i skriptet.
Ta inte med några personuppgifter i exempelnamnet i JMeter-skriptet. Exempelnamnen visas på instrumentpanelen för Azure Load Testing-resultat.

Klientmått som stöds för kriterium för fel

Azure Load Testing stöder följande klientmått:

Metric Mängdfunktion Threshold Villkor beskrivning
response_time_ms avg (genomsnitt)
min (minimum)
max (max)
pxx (percentil), xx kan vara 50, 90, 95, 99
Heltalsvärde, som representerar antalet millisekunder (ms). > (större än)
< (mindre än)
Svarstid eller förfluten tid, i millisekunder. Läs mer om förfluten tid i Apache JMeter-dokumentationen.
latency avg (genomsnitt)
min (minimum)
max (max)
pxx (percentil), xx kan vara 50, 90, 95, 99
Heltalsvärde, som representerar antalet millisekunder (ms). > (större än)
< (mindre än)
Svarstid i millisekunder. Läs mer om svarstider i Apache JMeter-dokumentationen.
error percentage Numeriskt värde i intervallet 0–100, vilket motsvarar en procentandel. > (större än) Procentandel misslyckade begäranden.
requests_per_sec avg (genomsnitt) Numeriskt värde med upp till två decimaler. > (större än)
< (mindre än)
Antal begäranden per sekund.
requests count Heltalsvärde. > (större än)
< (mindre än)
Totalt antal begäranden.

Definiera villkor för fel vid belastningstest

I det här avsnittet konfigurerar du testvillkor för ett belastningstest i Azure-portalen.

  1. I Azure-portalen går du till din Azure Load Testing-resurs.

  2. I den vänstra rutan väljer du Tester för att visa listan över belastningstester.

  3. Välj ditt belastningstest i listan och välj sedan Redigera.

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

  4. I fönstret Testvillkor fyller du värdena Mått, Mängdfunktion, Villkor och Tröskelvärde för testet.

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

    Du kan också ange information om namn på begäran för att lägga till ett testvillkor för en specifik JMeter-begäran. Värdet ska matcha namnet på JMeter-provtagaren i JMX-filen.

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

  5. Spara ändringarna genom att välja Använd .

    När du nu kör belastningstestet använder Azure Load Testing testvillkoren för att fastställa status för belastningstestkörningen.

  6. Kör testet och visa statusen på instrumentpanelen för belastningstest.

    Instrumentpanelen visar vart och ett av testkriterierna och deras status. Den övergripande teststatusen misslyckades om minst ett kriterium uppfylldes.

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

Automatisk stoppkonfiguration

Azure Load Testing stoppar automatiskt ett belastningstest om felprocenten överskrider ett visst tröskelvärde under en viss tidsperiod. Att automatiskt stoppa skyddar dig mot misslyckade tester medför ytterligare kostnader, till exempel på grund av en felaktigt konfigurerad slutpunkts-URL.

I konfigurationen för belastningstestet kan du aktivera eller inaktivera funktionen för automatisk stopp och konfigurera tröskelvärdet och tidsperioden för felprocent. Som standard stoppar Azure Load Testing automatiskt ett belastningstest som har en felprocent som är minst 90 % under ett 60-sekunders tidsfönster.

Du kan använda funktionen för automatisk stopp i Azure Load Testing i kombination med en AutoStop-lyssnare i JMeter-skriptet. Belastningstestet stoppas automatiskt när ett av kriterierna i antingen autostoppskonfigurationen eller JMeter AutoStop-lyssnaren uppfylls.

Varning

Om du inaktiverar automatiskt stopp för belastningstestet kan det medföra kostnader även om belastningstestet har konfigurerats felaktigt.

Så här konfigurerar du automatiskt stopp för belastningstestet i Azure-portalen:

  1. I Azure-portalen går du till din Azure Load Testing-resurs.

  2. I den vänstra rutan väljer du Tester för att visa listan över belastningstester.

  3. Välj ditt belastningstest i listan och välj sedan Redigera. Alternativt väljer du Skapa Ladda>upp ett JMeter-skript för att skapa ett nytt test.

  4. Gå till fliken Testvillkor för att konfigurera funktionen för automatisk stopp.

    • Aktivera eller inaktivera automatiskt stopp av belastningstestet med hjälp av testkontrollen Stoppa automatiskt.

    • Om du aktiverar automatiskt stopp kan du fylla i fälten Felprocent och Tid . Ange tidsfönstret i sekunder.

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

  5. Välj Använd eller Granska + skapa om du skapar ett nytt belastningstest för att spara ändringarna.

Nästa steg