Viktiga begrepp för nya Azure Load Testing-användare

Lär dig mer om viktiga begrepp och komponenter i Azure Load Testing. Den här informationen kan hjälpa dig att mer effektivt konfigurera ett belastningstest för att identifiera prestandaproblem i ditt program.

Allmänna begrepp för belastningstestning

Lär dig mer om viktiga begrepp som rör körning av belastningstester.

Virtuella användare

En virtuell användare kör ett visst testfall mot serverprogrammet och körs oberoende av andra virtuella användare. Du kan använda flera virtuella användare för att simulera samtidiga anslutningar till serverprogrammet.

Apache JMeter refererar också till virtuella användare som trådar. I JMeter-testskriptet kan du med ett trådgruppelement ange poolen med virtuella användare. Lär dig mer om trådgrupper i Apache JMeter-dokumentationen.

Det totala antalet virtuella användare för belastningstestet beror på antalet virtuella användare i testskriptet och antalet testmotorinstanser.

Formeln är: Totalt antal virtuella användare = (virtuella användare i JMX-filen) * (antal testmotorinstanser).

Du kan uppnå målantalet virtuella användare genom att konfigurera antalet testmotorinstanser, antalet virtuella användare i testskriptet eller en kombination av båda.

Upprampningstid

Uppfartstiden är hur lång tid det tar att komma till det fullständiga antalet virtuella användare för belastningstestet. Om antalet virtuella användare är 20 och upp ramptiden är 120 sekunder tar det 120 sekunder att komma åt alla 20 virtuella användare. Varje virtuell användare startar 6 (120/20) sekunder efter att den tidigare användaren startades.

Svarstid

Svarstiden för en enskild begäran, eller den tid som förflutit i JMeter, är den totala tiden från precis innan begäran skickas till strax efter att det senaste svaret har tagits emot. Svarstiden inkluderar inte tiden för att återge svaret. All klientkod, till exempel JavaScript, bearbetas inte under belastningstestet.

Svarstid

Svarstiden för en enskild begäran är den totala tiden från strax innan begäran skickas till strax efter att det första svaret har tagits emot. Svarstiden omfattar all bearbetning som krävs för att sammanställa begäran och montera den första delen av svaret.

Begäranden per sekund (RPS)

Begäranden per sekund (RPS) eller dataflöde är det totala antalet begäranden till serverprogrammet som belastningstestet genererar per sekund.

Formeln är: RPS = (antal begäranden) / (total tid i sekunder).

Tiden beräknas från början av det första exemplet till slutet av det sista exemplet. Den här gången omfattar alla intervall mellan exempel, till exempel om testskriptet innehåller timers.

Ett annat sätt att beräkna RPS är baserat på det genomsnittliga programmets svarstid och antalet virtuella användare. Om du vill simulera ett visst antal RPS med ett belastningstest, med tanke på programmets svarstid, kan du sedan beräkna det antal virtuella användare som krävs.

Formeln är: Virtuella användare = (RPS) * (svarstid i sekunder).

Med en programfördröjning på 20 millisekunder (0,02 sekunder) för att simulera 100 000 RPS bör du till exempel konfigurera belastningstestet med 2 000 virtuella användare (100 000 * 0,02).

Azure Load Testing-komponenter

Lär dig mer om viktiga begrepp och komponenter i Azure Load Testing. Följande diagram ger en översikt över hur de olika begreppen relaterar till varandra.

Diagram that shows how the different concepts in Azure Load Testing relate to one another.

Belastningstestningsresurs

Azure-belastningstestningsresursen är den främsta resursen för dina belastningstestningsaktiviteter. Den här resursen ger en central plats för att visa och hantera belastningstester, testresultat och relaterade artefakter.

När du skapar en belastningstestresurs anger du dess plats, vilket avgör platsen för testmotorerna. Azure Load Testing krypterar automatiskt alla artefakter i resursen. Du kan välja mellan Microsoft-hanterade nycklar eller använda dina egna kundhanterade nycklar för kryptering.

Om du vill köra ett belastningstest för ditt program lägger du till ett test i belastningstestningsresursen. En resurs kan innehålla noll eller fler tester.

Du kan använda rollbaserad åtkomstkontroll i Azure för att ge åtkomst till din belastningstestningsresurs och relaterade artefakter.

Med Azure Load Testing kan du använda hanterade identiteter för att komma åt Azure Key Vault för lagring av hemliga parametrar eller certifikat för belastningstest. Du kan använda antingen en användartilldelad eller systemtilldelad hanterad identitet.

Testa

Ett test beskriver belastningstestkonfigurationen för ditt program. Du lägger till ett test i en befintlig Azure-belastningstestningsresurs.

Ett test innehåller en testplan som beskriver stegen för att anropa programslutpunkten. Du kan definiera testplanen på något av två sätt:

Azure Load Testing stöder alla kommunikationsprotokoll som JMeter stöder, inte bara HTTP-baserade slutpunkter. Du kanske till exempel vill läsa från eller skriva till en databas eller meddelandekö i testskriptet.

Azure Load Testing stöder för närvarande inte andra testramverk än Apache JMeter.

Testet anger även konfigurationsinställningarna för körning av belastningstestet:

Dessutom kan du ladda upp CSV-indatafiler och JMeter-konfigurationsfiler till testet.

När du startar ett test distribuerar Azure Load Testing JMeter-testskriptet, relaterade filer och konfigurationen till testmotorinstanserna. Testmotorinstanserna initierar sedan JMeter-testskriptet för att simulera programbelastningen.

Varje gång du startar ett test skapar Azure Load Testing en testkörning och kopplar den till testet.

Testkörning

En testkörning representerar en körning av ett belastningstest. När du kör ett test innehåller testkörningen en kopia av konfigurationsinställningarna från det associerade testet.

När testkörningen är klar kan du visa och analysera belastningstestresultaten på instrumentpanelen för Azure Load Testing i Azure-portalen.

Alternativt kan du ladda ned testloggarna och exportera testresultatfilen.

Viktigt!

När du uppdaterar ett test ärver de befintliga testkörningarna inte automatiskt de nya inställningarna från testet. De nya inställningarna används endast av nya testkörningar när du kör testet. Om du kör en befintlig testkörning igen används de ursprungliga inställningarna för testkörningen.

Testmotor

En testmotor är databehandlingsinfrastruktur som hanteras av Microsoft och som kör Apache JMeter-testskriptet. Testmotorinstanserna kör JMeter-skriptet parallellt. Du kan skala ut belastningstestet genom att konfigurera antalet testmotorinstanser. Lär dig hur du konfigurerar antalet virtuella användare eller simulerar ett målantal begäranden per sekund.

Testmotorerna finns på samma plats som din Azure Load Testing-resurs. Du kan konfigurera Azure-regionen när du skapar Azure-belastningstestningsresursen.

Medan testskriptet körs samlar Azure Load Testing in och aggregerar Apache JMeter-arbetsloggarna från alla testmotorinstanser. Du kan ladda ned loggarna för att analysera fel under belastningstestet.

Appkomponent

När du kör ett belastningstest för ett Azure-värdbaserat program kan du övervaka resursmått för de olika Azure-programkomponenterna (mått på serversidan). När belastningstestet körs och när testet har slutförts kan du övervaka och analysera resursmåtten på instrumentpanelen för Azure Load Testing.

När du skapar eller uppdaterar ett belastningstest kan du konfigurera listan över appkomponenter som Azure Load Testing övervakar. Du kan ändra listan över standardresursmått för varje appkomponent.

Läs mer om vilka Azure-resurstyper som Stöds av Azure Load Testing.

Mått

Under ett belastningstest samlar Azure Load Testing in mått om testkörningen. Det finns två typer av mått:

  • Mått på klientsidan rapporteras av testmotorerna. Dessa mått omfattar antalet virtuella användare, svarstiden för begäran, antalet misslyckade begäranden eller antalet begäranden per sekund. Du kan definiera kriterier för testfel baserat på dessa mått på klientsidan.

  • Mått på serversidan är tillgängliga för Azure-värdbaserade program och ger information om dina Azure-programkomponenter. Azure Load Testing integreras med Azure Monitor, inklusive Application Insights och Container Insights, för att samla in information från Azure-tjänsterna. Beroende på typen av tjänst är olika mått tillgängliga. Mått kan till exempel vara för antalet databasläsningar, typen av HTTP-svar eller förbrukning av containerresurser.

Nu vet du de viktigaste begreppen i Azure Load Testing för att börja skapa ett belastningstest.