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

⚡ Smart sammanfattning

JMeter Prestandatestning mäter hur en webbapplikation beter sig under hög samtidig belastning, och kombinerar belastningstester och stresstestning för att avslöja maximal kapacitet, svarstider och flaskhalsar innan riktiga användare överbelastar servern.

  • 🧩 Testplan: Trådgrupp, samplare och lyssnare definierar testet.
  • 👥 Trådgrupp: Ställer in användare, upprampningsperiod och loopantal.
  • 📊 Lyssnare: Diagram- och tabellresultat visualiserar prestationsdata.
  • ???? Belastning kontra stress: Ladda modeller förväntad trafik; stress når brytpunkten.
  • 🤖 AI-hjälp: AI-modeller laddar profiler och flaggar prestandaregressioner.

JMeter 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 med 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ära du vill skicka till Google servern.

HTTP-begäran

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

HTTP-begäran

Om du behåller sökvägsfältet blank JMeter kommer att skapa URL begära http://www.google.com till Google servern.

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

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 oss analysera prestandan hos 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

Ocuco-landskapet 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 detta test, genomströmningen av Google servern är 1 491,193/minut. Det betyder Google servern kan hantera 1 491 193 förfrågningar per minut. Detta värde är ganska högt så vi kan dra slutsatsen att Google servern har bra prestanda

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

Låt oss jämföra prestandan hos Google server till 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, vilket är 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 servern.

OBS: Ovanstående värden beror på flera faktorer, såsom aktuell serverbelastning kl. Google, din internethastighet, din processorkraft etc. Därför är det mycket osannolikt att du får samma resultat som ovan. Så få inte panik! Om du är intresserad av att förstå hur serverbelastning påverkar prestandan och hur du testar den, kan du hitta 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

Vanliga frågor

Genomströmning är antalet förfrågningar JMeter slutförs per sekund; högre dataflöde innebär att servern hanterar mer belastning.

En enda JMeter instansen simulerar hundratals till några tusen användare; distribuerad testning över maskiner skalar upp till tiotusentals.

JMeter är gratis, öppen källkod och Java-baserad, medan LoadRunner är kommersiell med bredare protokollstöd och avancerad analys.

Ja. AI läser JMeter resultatgrafer, upptäcker avvikelser och flaskhalsar och kopplar långsamma svar till belastningsnivåer.

AI genererar realistiska arbetsbelastningsmodeller, justerar automatiskt tråd- och upprampningsinställningar och förutspår kapacitet från historisk data.

Sammanfatta detta inlägg med: