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.
I den vänstra rutan väljer du Tester för att visa listan över belastningstester.
Välj ditt belastningstest i listan och välj sedan Redigera.
I fönstret Testvillkor fyller du värdena Mått, Mängdfunktion, Villkor och Tröskelvärde för testet.
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.
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.
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.
Å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:
I den vänstra rutan väljer du Åtkomstkontroll (IAM) och sedan + Lägg till och sedan Lägg till rolltilldelning.
På fliken Roll under Jobbfunktioner söker du efter Övervakningsläsare eller Övervakningsdeltagare.
På fliken Medlemmar går du till Tilldela åtkomst till och väljer Hanterad identitet.
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.
Välj Granska + tilldela för att tilldela identiteten behörigheten.
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.
Välj Skapa test.
Under fliken Övervakning konfigurerar du de appkomponenter som du vill övervaka under testet.
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.
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.
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.
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.
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:
I den vänstra rutan väljer du Tester för att visa listan över belastningstester.
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.
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.
Välj Använd eller Granska + skapa om du skapar ett nytt belastningstest för att spara ändringarna.
Nästa steg
Information om hur du parameteriserar ett belastningstest med hjälp av hemligheter finns i Parameterisera ett belastningstest.
Mer information om automatisering av prestandatest finns i Konfigurera automatiserad prestandatestning.