Sådan bruges den: JMeter til præstations- og belastningstest
JMeter Load Testing
JMeter Load Testing er en testproces udført ved hjælp af et belastningstestværktøj ved navn Apache JMeter som er open source desktop-applikation baseret på Java. JMeter for belastningstest er et afgørende værktøj, der afgør, om den webapplikation, der testes, kan opfylde høje belastningskrav eller ej. Det hjælper også med at analysere den samlede server under hård belastning.
JMeter Test af ydeevne
JMeter Test af ydeevne is Test metode udført vha Apache JMeter at teste ydeevnen af en webapplikation. JMeter til præstationstest hjælper med at teste både statiske og dynamiske ressourcer, hjælper med at opdage samtidige brugere på webstedet og giver forskellige grafiske analyser til præstationstest. JMeter præstationstest inkluderer belastningstest og stresstest af webapplikation.
Apache JMeter testværktøj tilbyder følgende gavner det dig in Test af ydeevne
- JMeter kan bruges til at teste ydeevnen af begge statisk ressourcer som f.eks JavaScript og HTML, samt dynamisk ressourcer, såsom JSP, Servlets og AJAX.
- JMeter kan opdage maksimalt antal samtidige brugere, som din hjemmeside kan håndtere
- JMeter giver en række grafiske analyser af præstationsrapporter.
JMeter Ydelsestest inkluderer:
- Load Test: Modellering af det forventede forbrug ved at simulere flere brugeradgange Webtjenester samtidigt.
- Stress Test: Hver webserver har en maksimal belastningskapacitet. Når belastningen overskrider grænsen, begynder webserveren at reagere langsomt og producere fejl. Formålet med Stresstest er at finde den maksimale belastning webserveren kan klare.
Nedenstående figur viser hvordan JMeter belastningstest simulerer den tunge belastning:
Opret en præstationstestplan i JMeter
I denne tutorial laver vi en præstationsanalyse af Google.com for 1000 brugere ved hjælp af forskellige præstationstestværktøjer for at sikre, at hjemmesiden kan håndtere belastningen og give en problemfri brugeroplevelse.
Før vi tester ydeevnen af målwebapplikationen, bør vi bestemme-
- Normal belastning: Gennemsnitligt antal brugere besøger dit websted
- Heavy Load: Det maksimale antal brugere, der besøger dit websted
- Hvad er din mål i denne test?
Her er den køreplan af dette praktiske eksempel
Trin 1) Tilføj trådgruppe
- Starten JMeter
- Type Testplan på træet
- Tilføj Trådgruppe
Højreklik på "Testplan" og tilføj en ny trådgruppe: Tilføj -> Tråde (brugere) -> Trådgruppe
I kontrolpanelet Trådgruppe skal du indtaste Trådegenskaber som følger:
- Antal tråde: 100 (Antal brugere, der opretter forbindelse til målwebstedet: 100)
- sløjfeantal: 10 (antal tid til at udføre test)
- Ramp- Op periode: 100
Thread Count og The Loop Counts er forskellige.
Ramp-Op Periode fortæller JMeter hvor længe til forsinkelse før du starter den næste bruger. For eksempel, hvis vi har 100 brugere og en 100-sekunders Ramp-Op periode, så vil forsinkelsen mellem startende brugere være 1 sekund (100 sekunder /100 brugere)
Trin 2) Tilføjelse JMeter elementer
Nu bestemmer vi hvad JMeter elementer i denne test. Elementerne er
-
HTTP-anmodning Standard
Dette element kan tilføjes ved at højreklikke på trådgruppen og vælge: Tilføj -> Konfigurationselement -> HTTP-anmodningsstandarder.
I kontrolpanelet HTTP Request Defaults skal du indtaste webstedets navn under test (http://www.google.com)
-
HTTP-anmodning
Højreklik på trådgruppe og vælg: Tilføj -> Prøvetager -> HTTP-anmodning.
I kontrolpanelet for HTTP-anmodning angiver feltet Sti hvilken URL-anmodning du vil sende til Google-serveren.
Hvis du f.eks. indtaster "kalender” i feltet Sti. JMeter vil oprette URL-anmodningen http://www.google.com/calendar til Google-serveren
Hvis du beholder feltet Sti blank JMeter vil oprette URL-anmodningen http://www.google.com til Google-serveren.
I denne test beholder du Sti-feltet tomt for at lave JMeter oprette URL-anmodningen http://www.google.com til Google-serveren.
Trin 3) Tilføjelse af grafresultat
JMeter kan vise testresultatet i grafformat.
Højreklik på Testplan, Tilføj -> Lytter -> Graf resultater
Trin 4) Kør Test og få testresultatet
Presse Løbet knappen (Ctrl + R) på værktøjslinjen for at starte softwaretestprocessen. Du vil se testresultatet vist på Graph i realtid.
Billedet nedenfor viser en graf over en testplan, hvor vi simulerede 100 brugere, der har tilgået hjemmesiden www.google.com.
Nederst på billedet er der følgende statistikker, repræsenteret i farver:
- Sort: Det samlede antal aktuelle prøver sendt.
- Blå: Det aktuelle gennemsnit af alle sendte prøver.
- Rød: Den aktuelle standardafvigelse.
- Grøn: Gennemløbshastighed, der repræsenterer antallet af anmodninger pr. minut, serveren håndterede
Lad analysere ydeevnen af Google-serveren i nedenstående figur.
For at analysere ydeevnen af den webserver, der testes, bør du fokusere på 2 parametre
- gennemløb
- afvigelse
gennemløb er den vigtigste parameter. Det repræsenterer serverens evne til at håndtere en tung belastning. Det højere Gennemløbet er bedre er serverens ydeevne.
I denne test er gennemløbet af Google-serveren 1,491.193/minut. Det betyder, at Google-serveren kan håndtere 1,491.193 anmodninger i minuttet. Denne værdi er ret høj, så vi kan konkludere, at Google-serveren har god ydeevne
afvigelse vises med rødt – det angiver afvigelsen fra gennemsnittet. Det mindre og bedre.
Lad os sammenligne Google-serverens ydeevne med andre webservere. Dette er præstationstestresultatet af webstedet http://www.yahoo.com/ (Du kan vælge andre hjemmesider)
Gennemstrømningen af en hjemmeside under test http://www.yahoo.com er 867.326/minut. Det betyder, at denne server håndterer 867.326 anmodninger i minuttet, lavere end Google.
Afvigelsen er 2689, meget højere end Google (577). Så vi kan fastslå, at ydeevnen af denne hjemmeside er mindre end en Google-server.
BEMÆRK VENLIGST: Ovenstående værdier afhænger af flere faktorer som den aktuelle serverbelastning hos Google, din internethastighed, din CPU-styrke osv. Derfor er det meget usandsynligt, at du får de samme resultater som ovenfor. Så gå ikke i panik! Hvis du er interesseret i at forstå, hvordan serverbelastning påvirker ydeevnen, og hvordan du tester den, finder du måske dette belastningstest tutorial nyttig.
Fejlfinding
Hvis du står over for problemet, mens du kører ovenstående scenarie ... gør følgende
- Kontroller, om du opretter forbindelse til internettet via en proxy. Hvis ja, fjern proxyen.
- Åbn en ny forekomst af Jmeter
- Åbne PerformanceTestPlan.jmx i Jmeter
- Double Klik på Trådgruppe -> Grafresultat
- Kør testen