Konfigurera Azure Load Testing för högskalig belastning

I den här artikeln får du lära dig hur du konfigurerar ett belastningstest för högskalig belastning med Azure Load Testing.

Konfigurera flera testmotorinstanser för att skala ut antalet virtuella användare för belastningstestet och simulera ett stort antal begäranden per sekund. För att uppnå en optimal belastningsfördelning kan du övervaka hälsomåtten för testinstansen på instrumentpanelen för Azure Load Testing.

Förutsättningar

  • Ett Azure-konto med en aktiv prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

  • En befintlig Azure Load Testing-resurs. Information om hur du skapar en Azure Load Testing-resurs finns i snabbstarten Skapa och köra ett belastningstest.

Fastställa begäranden per sekund

Det maximala antalet begäranden per sekund (RPS) som Azure Load Testing kan generera för belastningstestet beror på programmets svarstid och antalet virtuella användare (VUs). Programfördröjning är den totala tiden från att skicka en programbegäran från testmotorn till att ta emot svaret. Antalet virtuella användare är antalet parallella begäranden som Azure Load Testing utför vid en viss tidpunkt.

Om du vill beräkna antalet begäranden per sekund använder du följande formel: RPS = (antal virtuella datorer) * (1/svarstid i sekunder).

Om programmets svarstid till exempel är 20 millisekunder (0,02 sekunder) och du genererar en belastning på 2 000 virtuella datorer kan du uppnå cirka 100 000 RPS (2 000 * 1/0,02s).

Om du vill uppnå ett målantal begäranden per sekund konfigurerar du det totala antalet virtuella användare för belastningstestet.

Anteckning

Apache JMeter rapporterar endast begäranden som har tagit sig till servern och tillbaka, antingen lyckade eller inte. Om Apache JMeter inte kan ansluta till ditt program är det faktiska antalet begäranden per sekund lägre än det maximala värdet. Möjliga orsaker kan vara att servern är för upptagen för att hantera begäran eller att ett TLS/SSL-certifikat saknas. Om du vill diagnostisera anslutningsproblem kan du kontrollera diagrammet Fel på instrumentpanelen för belastningstestning och ladda ned loggfilerna för belastningstestet.

Testmotorinstanser och virtuella användare

I Apache JMeter-skriptet kan du ange antalet parallella trådar. Varje tråd representerar en virtuell användare som ansluter till programslutpunkten parallellt. Vi rekommenderar att du håller antalet trådar i ett skript under högst 250.

I Azure Load Testing ansvarar testmotorinstanser för att köra Apache JMeter-skriptet. Du kan konfigurera antalet instanser för ett belastningstest. Alla testmotorinstanser körs parallellt.

Det totala antalet virtuella användare för ett belastningstest är då: VIRTUELLA datorer = (#-trådar) * (# testmotorinstanser).

Om du vill simulera ett målantal virtuella användare kan du konfigurera de parallella trådarna i JMeter-skriptet och motorinstanserna för belastningstestet. Övervaka testmotormåtten för att optimera antalet instanser.

Om du till exempel vill simulera 1 000 virtuella användare anger du antalet trådar i Apache JMeter-skriptet till 250. Konfigurera sedan belastningstestet med fyra testmotorinstanser (d.ex. 4 x 250 trådar).

Platsen för Azure Load Testing-resursen avgör platsen för testmotorinstanserna. Alla testmotorinstanser i en belastningstestningsresurs finns i samma Azure-region.

Konfigurera testplanen

I det här avsnittet konfigurerar du skalningsinställningarna för belastningstestet.

  1. Logga in på Azure Portal med autentiseringsuppgifterna för din Azure-prenumeration.

  2. Gå till resursen för belastningstestning. 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 som visar listan över belastningstester och knappen Redigera.

  4. Du kan också redigera testkonfigurationen från sidan med testinformation. Det gör du genom att välja Konfigurera och sedan Testa.

    Skärmbild som visar knapparna

  5. På sidan Redigera test väljer du fliken Läs in . Använd skjutreglaget Motorinstanser för att uppdatera antalet testmotorinstanser eller ange värdet direkt i indatarutan.

    Skärmbild av fliken Läs in i fönstret Redigera test.

  6. Välj Använd för att ändra testet och använd den nya konfigurationen när du kör det igen.

Övervaka motorinstansmått

För att säkerställa att själva testmotorinstanserna inte är en prestandaflaskhals kan du övervaka resursmått för testmotorinstansen. En hög resursanvändning för en testinstans kan påverka belastningstestets resultat negativt.

Azure Load Testing rapporterar fyra resursmått för varje instans:

  • CPU-procent.
  • Minnesprocent.
  • Nätverksbyte per sekund.
  • Antal virtuella användare.

En testmotorinstans anses vara felfri om den genomsnittliga CPU-procentandelen eller minnesprocenten under testkörningens varaktighet förblir under 75 %.

Så här visar du motorns resursmått:

  1. Gå till resursen för belastningstestning. I den vänstra rutan väljer du Tester för att visa listan över belastningstester.

  2. I listan väljer du ditt belastningstest för att visa listan över testkörningar.

  3. I testkörningslistan väljer du din testkörning.

  4. På testkörningsinstrumentpanelen väljer du Motorhälsa för att visa motorns resursmått.

    Du kan också välja en specifik testmotorinstans med hjälp av filterkontrollerna.

Skärmbild som visar hälsomått för belastningsmotorn på testkörningens instrumentpanel.

Felsöka motorinstanser med feltillstånd

Om en eller flera instanser visar hög resursanvändning kan det påverka testresultaten. Prova ett eller flera av följande steg för att lösa problemet:

  • Minska antalet trådar (virtuella användare) per testmotor. För att uppnå ett målantal virtuella användare kan du öka antalet motorinstanser för belastningstestet.

  • Kontrollera att skriptet är effektivt utan redundant kod.

  • Om motorns hälsostatus är okänd kör du testet igen.

Nästa steg