Dela via


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 klient- och servermått för att definiera felkriterier, till exempel felfrekvens eller CPU-procent för en Azure-resurs. 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 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 högst 50 testvillkor för ett belastningstest. Om det finns flera kriterier för samma mått används kriteriet med det lägsta tröskelvärdet.

Kriteriumstruktur för fel för klientmått

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.

För mått på klientsidan kan du definiera testvillkor 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. Strukturen för kriterierna är: Aggregate_function (client_metric) condition threshold.
  • 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. Strukturen för kriterierna är: 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 Obligatoriskt. Den mängdfunktion som ska tillämpas på klientmåttet.
Condition Obligatoriskt. Jämförelseoperatorn, till exempel greater than, eller less than.
Threshold Obligatoriskt. 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:

Mått Mängdfunktion Threshold Villkor beskrivning
response_time_ms avg (genomsnitt)
min (minimum)
max (max)
pxx (percentil), xx kan vara 50, 75, 90, 95, 96, 97, 98, 99, 999 och 9999
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 felvillkor för belastningstest för klientmått

I det här avsnittet konfigurerar du testvillkor för klientmått för ett belastningstest i Azure Portal.

  1. I Azure Portal 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.

    Skärmbild av listan över tester för en Azure-belastningstestningsresurs i Azure Portal med knappen Redigera.

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

    Skärmbild av fönstret Testvillkor för ett belastningstest i Azure Portal och markerar fälten för att lägga till ett testvillkor.

    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.

    Skärmbild av JMeter-användargränssnittet med namnet på begäran.

  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.

    Skärmbild som visar testvillkoren på instrumentpanelen för belastningstest.

Åtkomst till appkomponenten för testvillkor på servermått

När du anger felvillkor för ett mått i din appkomponent använder belastningstestningsresursen en hanterad identitet för att komma åt komponenten. När du har konfigurerat den hanterade identiteten måste du ge den hanterade identiteten för resursen för belastningstestning behörighet att läsa dessa värden från appkomponenten.

Så här ger du azure-belastningstestningsresursen behörighet att läsa måtten från din appkomponent:

  1. I Azure Portal går du till din appkomponent.

  2. I den vänstra rutan väljer du Åtkomstkontroll (IAM) och sedan + Lägg till och sedan Lägg till rolltilldelning.

    Skärmbild av åtkomstkontroll (IAM) i programkomponenten där felkriterier ska anges.

  3. På fliken Roll under Jobbfunktioner söker du efter Övervakningsläsare eller Övervakningsdeltagare.

  4. På fliken Medlemmar går du till Tilldela åtkomst till och väljer Hanterad identitet.

  5. Klicka på Välj medlemmar, sök och välj den hanterade identiteten för belastningstestningsresursen och välj sedan Nästa. Om du använder en systemtilldelad hanterad identitet matchar det hanterade identitetsnamnet namnet på din Azure-belastningstestresurs.

  6. Välj Granska + tilldela för att tilldela identiteten behörigheten.

    Skärmbild av tilldelning av behörigheter för att läsa mått till belastningstestningsresursen.

När testet körs kan den hanterade identitet som är associerad med din belastningstestningsresurs nu läsa måtten för belastningstestet från appkomponenten.

Definiera felvillkor för belastningstest för servermått

Viktigt!

Azure Load Testing stöder inte konfigurering av felkriterier för mått på serversidan från Azure Pipelines/Github Actions.

I det här avsnittet konfigurerar du testfelskriterier för mått på serversidan för ett belastningstest i Azure Portal.

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

  2. Välj Skapa test.

  3. Under fliken Övervakning konfigurerar du de appkomponenter som du vill övervaka under testet.

  4. Konfigurera referensidentiteten Mått. Identiteten kan vara den systemtilldelade identiteten för belastningstestningsresursen eller en av de användartilldelade identiteterna. Kontrollera att du använder samma identitet som du har beviljat åtkomst tidigare.

    Skärmbild av konfiguration av referensidentitet för mått.

  5. I fönstret Testvillkor fyller du i resurs-ID , namnrymd, mått, sammansättning, villkor, tröskelvärden för testet. Du kan endast ange felkriterier för de resurser/appkomponenter som du övervakar under testet.

    Skärmbild av konfiguration av felvillkor för servermått.

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

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

    Skärmbild av instrumentpanelen som visar testresultat.

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 Portal:

  1. I Azure Portal 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.

      Skärmbild av fönstret Testvillkor för ett belastningstest i Azure Portal, som markerar funktionen för automatisk stopp.

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

Nästa steg