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.
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.
Test
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 tre sätt:
- Ladda upp ett JMeter-testskript.
- Ladda upp ett Locust-testskript.
- Ange listan över URL-slutpunkter som ska testas.
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 och Locust.
Testet anger även konfigurationsinställningarna för körning av belastningstestet:
- Läs in testparametrar, till exempel miljövariabler, hemligheter och certifikat.
- Läs in konfiguration för att skala ut belastningstestet över flera testmotorinstanser .
- Kriterium för att avgöra när testet ska klaras eller misslyckas.
- Övervakningsinställningar för att konfigurera listan över Azure-appkomponenter och resursmått som ska övervakas under testkörningen.
Dessutom kan du ladda upp CSV-indatafiler och testa konfigurationsfiler till belastningstestet.
När du startar ett test distribuerar Azure Load Testing testskriptet, relaterade filer och konfigurationen till testmotorinstanserna. Testmotorinstanserna initierar sedan 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 testskriptet. Testmotorinstanserna kör testskriptet 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 testramverksloggarna 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.
Relaterat innehåll
Nu vet du de viktigaste begreppen i Azure Load Testing för att börja skapa ett belastningstest.
- Lär dig hur Azure Load Testing fungerar.
- Lär dig hur du skapar och kör ett URL-baserat belastningstest för en webbplats.
- Lär dig hur du identifierar en flaskhals för prestanda i ett Azure-program.
- Lär dig hur du konfigurerar automatiserad regressionstestning med CI/CD.