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.
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:
- 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:
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
Stap 1) Discussiegroep toevoegen
- Start JMeter
- kies Testplan op de boom
- Toevoegen Discussiegroep
Klik met de rechtermuisknop op het “Testplan” en voeg een nieuwe threadgroep toe: Toevoegen -> Onderwerpen (gebruikers) -> Discussiegroep
Voer in het regelpaneel Thread Group de Thread-eigenschappen als volgt in:
- 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.
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)
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.
Voer in het configuratiescherm HTTP Request Defaults de websitenaam in die getest moet worden (http://www.google.com)
-
HTTP-verzoek
Klik met de rechtermuisknop op Discussiegroep en selecteer: Toevoegen -> merklap -> HTTP-verzoek.
In het HTTP Request-configuratiescherm geeft het veld Pad aan welke URL-verzoek die u naar de Google-server wilt verzenden.
Als u bijvoorbeeld “kalender” in het padveld. JMeter zal het URL-verzoek maken http://www.google.com/calendar naar de Google-server
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
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.
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.
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)
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
- Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
- Open een nieuw exemplaar van Jmeter
- Open de PerformanceTestPlan.jmx in Jmeter
- Double Klik op Discussiegroep -> Grafiekresultaat
- Voer de test uit