Hoe JMeter te gebruiken voor prestatie- en belastingtests

JMeter-belastingtesten

JMeter-belastingtesten is een testproces dat wordt uitgevoerd met behulp van een belastingtesttool genaamd Apache JMeter, een open source desktop-applicatie gebaseerd op Java. JMeter voor belastingtesten is een cruciaal hulpmiddel dat bepaalt of de geteste webapplicatie aan hoge belastingvereisten kan voldoen of niet. Het helpt ook om de algehele server onder zware belasting te analyseren.

JMeter-prestatietests

JMeter-prestatietests is Testen methode uitgevoerd met Apache JMeter om de prestaties van een webapplicatie te testen. JMeter voor prestatietests helpt bij het testen van zowel statische als dynamische bronnen, helpt bij het ontdekken van gelijktijdige gebruikers op de website en biedt een verscheidenheid aan grafische analyses voor prestatietests. JMeter-prestatietests omvatten een belastingstest en stresstest van de webapplicatie.

JMeter-prestatietests

Apache JMeter-testtool biedt following voordeel in Performance Testing

  • JMeter kan worden gebruikt om de prestaties van beide te testen statisch bronnen zoals: JavaScript en HTML, evenals dynamisch bronnen, zoals JSP, Servlets en AJAX.
  • JMeter kan Onthul Nu maximale aantal gelijktijdige gebruikers dat uw website aankan
  • JMeter biedt een verscheidenheid aan grafische analyses van prestatierapporten.

JMeter-prestatietests omvatten:

JMeter-prestatietests

  • Laden Testen: Modelleren van het verwachte gebruik door meerdere gebruikerstoegang te simuleren Web services gelijktijdig.
  • Spanning Testen: Elke webserver heeft een maximaal draagvermogen. Wanneer de belasting de limiet overschrijdt, begint de webserver langzaam te reageren en fouten te produceren. Het doel van de Stress testen is het vinden van de maximale belasting die de webserver aankan.

De onderstaande figuur laat zien hoe JMeter load Testing de zware belasting simuleert:

JMeter-prestatietests

Maak een prestatietestplan in JMeter

In deze zelfstudie voeren we een prestatieanalyse uit van Google.com voor 1000 gebruikers met behulp van verschillende prestatietestinstrumenten om ervoor te zorgen dat de website de belasting aankan en een naadloze gebruikerservaring biedt.

Voordat we de prestaties van de doelwebapplicatie testen, moeten we vaststellen:

  • Normale belasting: Gemiddeld aantal gebruikers bezoekt uw website
  • Zware lading: Het maximale aantal gebruikers dat uw website bezoekt
  • Wat is jouw doel bij deze proef?

Hier is de roadmap van dit praktijkvoorbeeld

Maak een prestatietestplan in JMeter

Stap 1) Discussiegroep toevoegen

  1. Start JMeter
  2. kies Testplan op de boom
  3. Toevoegen Discussiegroep

Klik met de rechtermuisknop op het “Testplan” en voeg een nieuwe threadgroep toe: Toevoegen -> Onderwerpen (gebruikers) -> Discussiegroep

Discussiegroep toevoegen

Voer in het regelpaneel Thread Group de Thread-eigenschappen als volgt in:

Discussiegroep toevoegen

  • Aantal draden: 100 (Aantal gebruikers maakt verbinding met de doelwebsite: 100)
  • Aantal lussen: 10 (Aantal tijd om tests uit te voeren)
  • Ramp-Up-periode: 100

Het aantal threads en de lustellingen zijn verschillend.

Discussiegroep toevoegen

Ramp-Up Period vertelt JMeter hoe lang het nog duurt vertraging voordat u de volgende gebruiker start. Als we bijvoorbeeld 100 gebruikers en een 100-seconden hebben Ramp-Up-periode, dan zou de vertraging tussen startende gebruikers 1 seconde zijn (100 seconden /100 gebruikers)

Discussiegroep toevoegen

Stap 2) JMeter-elementen toevoegen

Nu bepalen we welke JMeter-elementen in deze test voorkomen. De elementen zijn

  • HTTP-verzoek Standaard

Dit element kan worden toegevoegd door met de rechtermuisknop op de Discussiegroep te klikken en te selecteren: Toevoegen -> Configuratie-element -> Standaardinstellingen voor HTTP-verzoeken.

JMeter-elementen toevoegen

Voer in het configuratiescherm HTTP Request Defaults de websitenaam in die getest moet worden (http://www.google.com)

JMeter-elementen toevoegen

  • HTTP-verzoek

Klik met de rechtermuisknop op Discussiegroep en selecteer: Toevoegen -> merklap -> HTTP-verzoek.

HTTP-verzoek

In het HTTP Request-configuratiescherm geeft het veld Pad aan welke URL-verzoek die u naar de Google-server wilt verzenden.

HTTP-verzoek

Als u bijvoorbeeld “kalender” in het padveld. JMeter zal het URL-verzoek aanmaken http://www.google.com/calendar naar de Google-server

HTTP-verzoek

Als u het veld Pad behoudt blanco JMeter zal het URL-verzoek aanmaken http://www.google.com naar de Google-server.

In deze test laat u het padveld leeg zodat JMeter het URL-verzoek maakt http://www.google.com naar de Google-server.

Stap 3) Grafiekresultaat toevoegen

JMeter kan het testresultaat in grafiekformaat weergeven.

Klik met de rechtermuisknop op Testplan, Toevoegen -> Luisteraar -> Grafiekresultaten

Grafiekresultaat toevoegen

Stap 4) Voer de test uit en ontvang het testresultaat

Media de loop knop (Ctrl + R) op de werkbalk om het softwaretestproces te starten. U ziet het testresultaat in realtime op de grafiek verschijnen.

De onderstaande afbeelding toont een grafiek van een testplan, waarbij we 100 gebruikers hebben gesimuleerd die toegang hebben gekregen tot de website www.google.com.

Voer de test uit en ontvang het testresultaat

Onderaan de foto staan ​​de volgendewing statistieken, weergegeven in kleuren:

  • Zwart: het totale aantal huidige verzonden monsters.
  • Blauw: Het huidige gemiddelde van alle verzonden monsters.
  • Rood: De huidige standaardafwijking.
  • Groen: Doorvoersnelheid die het aantal verzoeken per minuut vertegenwoordigt dat de server heeft afgehandeld

Laten we de prestaties van de Google-server in onderstaande afbeelding analyseren.

Voer de test uit en ontvang het testresultaat

Om de prestaties van de te testen webserver te analyseren, moet u zich op twee parameters concentreren

  • Doorvoer
  • afwijking

Het Doorvoer is de belangrijkste parameter. Het vertegenwoordigt het vermogen van de server om een ​​zware belasting aan te kunnen. De hoger de doorvoer is, de beter zijn de serverprestaties.

In deze test is de doorvoer van de Google-server 1,491.193/minuut. Dit betekent dat de Google-server 1,491.193 verzoeken per minuut kan verwerken. Deze waarde is vrij hoog, dus we kunnen concluderen dat de Google-server goede prestaties levert

Het afwijking wordt in rood weergegeven – het geeft de afwijking van het gemiddelde aan. De kleinere de beter.

Laten we de prestaties van de Google-server vergelijken met andere webservers. Dit is het prestatietestresultaat van de website http://www.yahoo.com/ (U kunt andere websites kiezen)

Voer de test uit en ontvang het testresultaat

De doorvoer van een website die wordt getest http://www.yahoo.com bedraagt ​​867.326/minuten. Het betekent dat deze server 867.326 verzoeken per minuut verwerkt, lager dan Google.

De afwijking is 2689, veel hoger dan Google (577). We kunnen dus vaststellen dat de prestaties van deze website lager zijn dan die van een Google-server.

NOTITIE: De bovenstaande waarden zijn afhankelijk van verschillende factoren, zoals de huidige serverbelasting bij Google, uw internetsnelheid, uw CPU-vermogen enz. Het is daarom zeer onwaarschijnlijk dat u dezelfde resultaten krijgt als hierboven. Geen paniek dus! Als u wilt begrijpen hoe de serverbelasting de prestaties beïnvloedt en hoe u dit kunt testen, vindt u dit misschien wel belasting testen tutorial nuttig.

Probleem oplossen

Als u met dit probleem wordt geconfronteerd terwijl u het bovenstaande scenario uitvoert, doet u het volgendewing

  1. Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
  2. Open een nieuw exemplaar van Jmeter
  3. Open de PerformanceTestPlan.jmx in Jmeter
  4. Double Klik op Discussiegroep -> Grafiekresultaat
  5. Voer de test uit