Hoe te gebruiken JMeter voor prestatie- en belastingtests

JMeter load Testen

JMeter load Testen is een testproces dat wordt uitgevoerd met behulp van een belastingtesttool genaamd Apache JMeter waarop een open source desktop-applicatie is gebaseerd 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 Performance Testing

JMeter Performance Testing is Testen methode uitgevoerd met behulp van 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 een stresstest van de webapplicatie.

JMeter Performance Testing

Apache JMeter testtool biedt het volgende 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 blikje Onthul Nu maximale aantal gelijktijdige gebruikers dat uw website aankan
  • JMeter biedt een verscheidenheid aan grafische analyses van prestatierapporten.

JMeter Prestatietesten omvatten:

JMeter Performance Testing

  • 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.

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

JMeter Performance Testing

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-periode vertelt JMeter hoe lang nog 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) Toevoegen JMeter geeft je de mogelijkheid

Nu bepalen we wat JMeter elementen in deze test. 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.

Het toevoegen van JMeter Elementen

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

Het toevoegen van JMeter Elementen

  • 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 maken http://www.google.com/calendar naar de Google-server

HTTP-verzoek

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

In deze test laat u het veld Pad leeg om te maken JMeter maak het URL-verzoek 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 afbeelding staan ​​de volgende 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

De 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

De afwijking wordt in rood weergegeven – het geeft de afwijking van het gemiddelde aan. De kleinere the 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.

Troubleshooting

Als u dit probleem ondervindt tijdens het uitvoeren van het bovenstaande scenario, doe dan het volgende

  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