JMeter Load Testing
JMeter Load Testing är en testprocess som görs med hjälp av ett lasttestverktyg med namnet Apache JMeter som är en öppen källkodsprogram baserad på Java. JMeter för belastningstestning är ett viktigt verktyg som avgör om webbapplikationen som testas kan uppfylla höga belastningskrav eller inte. Det hjälper också till att analysera den totala servern under tung belastning.
JMeter Performance Testing
JMeter Performance Testing är testmetod som utförs med Apache JMeter för att testa prestanda för 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 ger olika grafiska analyser för prestandatestning. JMeter-prestandatestning inkluderar belastningstest och stresstest av webbapplikationer.
Apache JMeter testverktyg erbjuder följande fördelar i Performance Testing
- JMeter kan användas för att testa prestanda för både statiska resurser som JavaScript och HTML, såväl som dynamiska resurser som JSP, Servlets och AJAX.
- JMeter kan upptäcka maximalt antal samtidiga användare som din webbplats kan hantera
- JMeter tillhandahåller en mängd olika grafiska analyser av resultatrapporter.
JMeter Performance Testing inkluderar:
- Load Testing: Modellera förväntad användning genom att simulera flera användares åtkomst till webbtjänsterna samtidigt.
- Stresstestning : Varje webbserver har maximal belastningskapacitet. När belastningen överskrider gränsen börjar webbservern svara långsamt och orsaka fel. Syftet med stresstestningen är att hitta den maximala belastningen webbservern kan hantera.
Figuren nedan visar hur JMeter load Testing simulerar den tunga lasten:
Skapa en prestandatestplan i JMeter
I den här handledningen gör vi en prestandaanalys av Google.com för 1000 användare
Innan vi testar prestanda för målwebapplikationen bör vi bestämma-
- Normal belastning : Genomsnittligt antal användare besöker din webbplats
- Tung belastning : Det maximala antalet användare besöker din webbplats
- Vad är ditt mål i detta test?
Här är färdplanen för detta praktiska exempel
Steg 1) Lägg till trådgrupp
- Starta JMeter
- Välj Testplan på trädet
- 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
I trådgruppens kontrollpanel anger du trådegenskaper enligt följande:
- Antal trådar : 100 (Antal användare ansluter till målwebbplatsen: 100)
- Loop Count : 10 (Antal tid att testa)
- Uppstartsperiod : 100
Trådantalet och slingantalet är olika.
Upprampningsperiod berättar för JMeter hur lång tid det ska dröja innan nästa användare startas. Till exempel, om vi har 100 användare och en 100 sekunders ramp-up-period, skulle fördröjningen mellan startande användare vara 1 sekund (100 sekunder / 100 användare)
Steg 2) Lägga till JMeter-element
Nu bestämmer vi vilka 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 -> Konfigurationselement -> HTTP-begäran standard.
I kontrollpanelen för HTTP-begäran anger du webbplatsens namn under test (http://www.google.com)
-
HTTP-begäran
Högerklicka på trådgruppen och välj: Lägg till -> Sampler -> HTTP-begäran .
I HTTP-begäran Kontrollpanelen anger sökvägsfältet vilken URL-begäran du vill skicka till Googles server.
Till exempel om du anger "kalender" i sökvägsfältet. JMeter skapar URL-begäran http://www.google.com/calendar till Googles server
Om du håller fältet Sökväg tomt skapar JMeter webbadressförfrågan http://www.google.com till Googles server.
I det här testet håller du fältet Sökväg tomt så att JMeter skapar URL-begäran http://www.google.com till Googles server.
Steg 3) Lägga till diagramresultat
JMeter kan visa testresultatet i diagramformat.
Högerklicka på Testplan, Lägg till -> Lyssnare -> Diagramresultat
Steg 4) Kör test och få testresultatet
Tryck på Kör- knappen (Ctrl + R) i verktygsfältet för att starta programvarutestningsprocessen. Du kommer att se testresultatet på Graf i realtid.
Bilden nedan visar ett diagram över en testplan, där vi simulerade 100 användare som besökte webbplatsen www.google.com.
Längst ner på bilden finns följande statistik, representerad i färger:
- Svart: Totalt antal aktuella prover som skickats.
- Blå: Det aktuella genomsnittet för alla skickade prover.
- Röd: Den aktuella standardavvikelsen.
- Grön: Genomströmningshastighet som representerar antalet förfrågningar per minut som servern hanterade
Låt analysera Googles serverns prestanda i nedanstående bild.
För att analysera prestanda för den webbserver som testas bör du fokusera på två parametrar
- Genomströmning
- Avvikelse
Den Genomströmningen är den viktigaste parametern. Det representerar serverns förmåga att hantera en tung belastning. Ju högre genomströmning är desto bättre är serverns prestanda.
I detta test är kapaciteten på Googles server 1 491,193 / minut. Det betyder att Googles server kan hantera 1 491 193 förfrågningar per minut. Det här värdet är ganska högt så vi kan dra slutsatsen att Googles server har bra prestanda
Den avvikelsen visas i rött - det visar avvikelsen från genomsnittet. Den mindre av bättre .
Låt oss jämföra Googles serverns prestanda med andra webbservrar. Detta är prestandatestresultatet på webbplatsen http://www.yahoo.com/ (Du kan välja andra webbplatser)
Genomgången för en webbplats som testas http://www.yahoo.com är 867.326 / minuter. 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 webbplatsens prestanda är mindre än en Google-server.
OBS: Ovanstående värden beror på flera faktorer som aktuell serverbelastning hos Google, din internethastighet, din CPU-effekt etc. Det är därför mycket osannolikt att du får samma resultat som ovan. Så kom inte i panik!
Felsökning:
Om du möter problemet när du kör ovanstående scenario ... gör följande
- Kontrollera om du ansluter till internet via en proxy. Om ja, ta bort proxyen.
- Öppna en ny instans av Jmeter
- Öppna PerformanceTestPlan.jmx i Jmeter
- Dubbelklicka på trådgruppen -> diagramresultat
- Kör testet