Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Locust refererar till virtuella användare som användare. Du kan ange vilka användare som behövs för testet i webbgränssnittet, som ett kommandoradsargument, via en miljövariabel eller via en konfigurationsfil. Mer information finns i konfigurationsalternativ i Locust-dokumentationen.
Det totala antalet virtuella användare för belastningstestet beror på antalet virtuella användare i testskriptet och antalet testmotorinstanser.
För JMeter-baserade belastningstester är formeln: 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.
För Locust-baserade belastningstester är det totala antalet virtuella användare det antal användare som anges via något av konfigurationsalternativen. Du kan sedan konfigurera antalet testmotorinstanser som krävs för att generera det totala antalet användare.
Uppväxlingstid
Upprampningstiden är den tid det tar för att nå det fulla 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.
För Locust kan du konfigurera ramp-up med spawnhastighet. Spawn-frekvensen är antalet användare som läggs till per sekund. Om antalet användare till exempel är 20 och lekfrekvensen är 2 läggs 2 användare till varje sekund och det tar 10 sekunder att komma åt alla 20 användare.
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.
Fördröjning
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 inkluderar all behandling som krävs för att sätta samman begäran och bearbeta 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. Denna tid omfattar alla tidsintervall mellan prover, 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 olika syften, till exempel åtkomst till Azure Key Vault för att lagra inläsningstesthemlighetsparametrar eller certifikat, komma åt Azure Monitor-mått för att konfigurera felkriterier eller simulera hanterade identitetsbaserade autentiseringsflöden.
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 och Locust 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.
- Ladda konfigurationen för att skala ut belastningstestet över flera testmotorer.
- Kriterier för underkännande för att avgöra när testet ska godkännas eller underkännas.
- Ö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.
Azure Load Testing använder Standard_D4d_v4 virtuella datorer med fyra virtuella processorer, 16 GB minne och Azure Linux-operativsystem som testmotorer. För JMeter-baserade tester använder testmotorerna JDK 21 och Apache JMeter version 5.6.3. För Locust-baserade tester använder testmotorerna Python 3.9.19 och Locust version 2.33.2.
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ätvärden
Under ett belastningstest samlar Azure Load Testing in mått om testkörningen. Det finns två typer av mått:
Kliensens metrik rapporteras av testverktygen. 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.
Server-sidans metrik är tillgängliga för Azure-hostade applikationer 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. Du kan också definiera testfelskriterier baserat på dessa mått på serversidan.
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.