Så här använder du JMeter för prestanda- och belastningstestning

JMeter Lasttestning

JMeter Lasttestning är en testprocess som görs med ett lasttestverktyg som heter Apache JMeter som är en skrivbordsapplikation med öppen källkod baserad på Java. JMeter för belastningstestning är ett avgörande verktyg som avgör om webbapplikationen som testas kan uppfylla höga belastningskrav eller inte. Det hjälper också att analysera den övergripande servern under hög belastning.

JMeter Prestandatester

JMeter Prestandatester is Testning metod som utförs med hjälp av Apache JMeter för att testa prestandan hos en webbapplikation. JMeter för prestandatestning hjälper till att testa både statiska och dynamiska resurser, hjälper till att upptäcka samtidiga användare på webbplatsen och tillhandahåller olika grafiska analyser för prestandatester. JMeter prestandatestning inkluderar belastningstest och stresstest av webbapplikation.

JMeter Prestandatester

Apache JMeter testverktyg erbjuder följande fördel in Prestandatester

  • JMeter kan användas för att testa prestandan för båda statisk resurser som t.ex JavaScript och HTML, samt dynamisk resurser, såsom JSP, Servlets och AJAX.
  • JMeter Kan Upptäck maximalt antal samtidiga användare som din webbplats kan hantera
  • JMeter tillhandahåller en mängd olika grafiska analyser av resultatrapporter.

JMeter Prestandatestning inkluderar:

JMeter Prestandatester

  • Ladda Testning: Modellering av förväntad användning genom att simulera åtkomst för flera användare Webbtjänster samtidigt.
  • Belastning Testning: Varje webbserver har en maximal belastningskapacitet. När belastningen går över gränsen börjar webbservern svara långsamt och ge fel. Syftet med Stresstestning är att hitta den maximala belastningen som webbservern klarar av.

Bilden nedan visar hur JMeter belastningstestning simulerar den tunga belastningen:

JMeter Prestandatester

Skapa en prestationstestplan i JMeter

I den här handledningen gör vi en prestandaanalys av Google.com för 1000 användare som använder olika verktyg för prestandatestning för att säkerställa att webbplatsen kan hantera belastningen och ge en sömlös användarupplevelse.

Innan vi testar prestandan för målwebbapplikationen bör vi fastställa-

  • Normal belastning: Genomsnittligt antal användare besöker din webbplats
  • Hög belastning: Det maximala antalet användare som besöker din webbplats
  • Vad är din mål i detta test?

Här är färdplan av detta praktiska exempel

Skapa en prestationstestplan i JMeter

Steg 1) Lägg till trådgrupp

  1. Start JMeter
  2. Välja Testplan på trädet
  3. Lägg till Trådgrupp

Högerklicka på "Testplan" och lägg till en ny trådgrupp: Lägg till -> Trådar (användare) -> Trådgrupp

Lägg till trådgrupp

I kontrollpanelen Trådgrupp anger du Trådegenskaper enligt följande:

Lägg till trådgrupp

  • Antal trådar: 100 (Antal användare som ansluter till målwebbplatsen: 100)
  • slingantalet: 10 (antal tid för att utföra testning)
  • Ramp-Uppperiod: 100

Thread Count och The Loop Counts är annorlunda.

Lägg till trådgrupp

Ramp-Uppperioden berättar JMeter hur länge till fördröja innan du startar nästa användare. Till exempel, om vi har 100 användare och en 100-sekund Ramp-Uppperiod, då skulle fördröjningen mellan startande användare vara 1 sekund (100 sekunder /100 användare)

Lägg till trådgrupp

Steg 2) Lägga till JMeter element

Nu bestämmer vi vad JMeter element i detta test. Elementen är

  • HTTP-begäran Standard

Detta element kan läggas till genom att högerklicka på trådgruppen och välja: Lägg till -> Config Element -> Standardinställningar för HTTP-begäran.

Lägga JMeter Elements

I kontrollpanelen HTTP Request Defaults anger du webbplatsens namn under test (http://www.google.com)

Lägga JMeter Elements

  • HTTP-begäran

Högerklicka på Trådgrupp och välj: Lägg till -> Provtagare -> HTTP-begäran.

HTTP-begäran

I kontrollpanelen för HTTP-begäran anger sökvägsfältet vilken URL-begäran du vill skicka till Googles server.

HTTP-begäran

Om du till exempel anger "kalender” i fältet Path. JMeter kommer att skapa URL-begäran http://www.google.com/calendar till Googles server

HTTP-begäran

Om du behåller sökvägsfältet blank JMeter kommer att skapa URL-begäran http://www.google.com till Googles server.

I det här testet håller du sökvägsfältet tomt för att göra JMeter skapa URL-begäran http://www.google.com till Googles server.

Steg 3) Lägga till grafresultat

JMeter kan visa testresultatet i grafformat.

Högerklicka på Testplan, Lägg till -> Lyssnare -> Graf resultat

Lägger till grafresultat

Steg 4) Kör Test och få testresultatet

Klicka på rymmen knappen (Ctrl + R) i verktygsfältet för att starta programvarutestprocessen. Du kommer att se testresultatet på Graph i realtid.

Bilden nedan visar en graf över en testplan, där vi simulerade 100 användare som gick in på webbplatsen www.google.com.

Kör testet och få testresultatet

Längst ner på bilden finns följande statistik, representerad i färger:

  • Svart: Det totala antalet aktuella prov skickade.
  • Blå: Det aktuella genomsnittet av alla skickade prover.
  • Röt: Aktuell standardavvikelse.
  • Grön: Genomströmningshastighet som representerar antalet förfrågningar per minut som servern hanterade

Låt analysera prestanda för Google-servern i bilden nedan.

Kör testet och få testresultatet

För att analysera prestandan för webbservern som testas bör du fokusera på 2 parametrar

  • genomströmning
  • avvikelse

Smakämnen genomströmning är den viktigaste parametern. Det representerar serverns förmåga att hantera en tung belastning. De högre Genomströmningen är den bättre är serverns prestanda.

I det här testet är genomströmningen av Googles server 1,491.193 1,491.193/minut. Det betyder att Googles server kan hantera XNUMX XNUMX XNUMX förfrågningar per minut. Detta värde är ganska högt så vi kan dra slutsatsen att Googles server har bra prestanda

Smakämnen avvikelse visas i rött – det indikerar avvikelsen från genomsnittet. De mindre d bättre.

Låt jämföra prestanda för Google-servern med andra webbservrar. Detta är resultatet av webbplatsens prestandatest http://www.yahoo.com/ (Du kan välja andra webbplatser)

Kör testet och få testresultatet

Genomströmningen av en webbplats som testas http://www.yahoo.com är 867.326/minut. Det betyder att den här servern hanterar 867.326 förfrågningar per minut, lägre än Google.

Avvikelsen är 2689, mycket högre än Google (577). Så vi kan fastställa att den här webbplatsens prestanda är mindre än en Google-server.

OBS: Ovanstående värden beror på flera faktorer som nuvarande serverbelastning hos Google, din internethastighet, din CPU-kraft etc. Därför är det mycket osannolikt att du kommer att få samma resultat som ovan. Så få inte panik! Om du är intresserad av att förstå hur serverbelastning påverkar prestanda och hur du testar det, kanske du hittar det här handledning för belastningstestning användbar.

Felsökning

Om du stöter på problemet när du kör scenariot ovan ... gör följande

  1. Kontrollera om du ansluter till internet via en proxy. Om ja, ta bort proxyn.
  2. Öppna en ny instans av Jmeter
  3. Öppna PerformanceTestPlan.jmx i Jmeter
  4. Double Klicka på Trådgrupp -> Grafresultat
  5. Kör testet