Sådan bruges JMeter til ydeevne & Load Testing

Indholdsfortegnelse:

Anonim

JMeter-belastningstest

JMeter Load Testing er en testproces udført ved hjælp af et belastningstestningsværktøj ved navn Apache JMeter, som er open source-desktopapplikation baseret på Java. JMeter til belastningstest er et afgørende værktøj, der bestemmer, om webapplikationen under test kan tilfredsstille høje belastningskrav eller ej. Det hjælper også med at analysere den samlede server under tung belastning.

JMeter Performance Testing

JMeter Performance Testing er testmetode, der udføres ved hjælp af Apache JMeter til at teste ydeevnen for 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-ydelsestest inkluderer belastningstest og stresstest af webapplikationer.

Apache JMeter testværktøj giver følgende fordele i Performance Testing

  • JMeter kan bruges til at teste ydeevnen for både statiske ressourcer såsom JavaScript og HTML samt dynamiske ressourcer, såsom JSP, Servlets og AJAX.
  • JMeter kan finde det maksimale antal samtidige brugere, som dit websted kan håndtere
  • JMeter leverer en række grafiske analyser af præstationsrapporter.

JMeter Performance Testing inkluderer:

  • Load Testing: Modellering af det forventede forbrug ved at simulere flere brugeradgang til webtjenesterne samtidigt.
  • Stresstest : 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 håndtere.

Figuren nedenfor viser, hvordan JMeter load Testing simulerer den tunge belastning:

Opret en præstationsprøveplan i JMeter

I denne vejledning foretager vi en præstationsanalyse af Google.com til 1000 brugere

Inden vi tester ydeevnen til målwebapplikationen, skal vi bestemme-

  • Normal belastning : Gennemsnitligt antal brugere besøger dit websted
  • Tung belastning : Det maksimale antal brugere besøger dit websted
  • Hvad er dit mål i denne test?

Her er køreplanen for dette praktiske eksempel

Trin 1) Tilføj trådgruppe

  1. Start JMeter
  2. Vælg Testplan på træet
  3. Tilføj trådgruppe

Højreklik på "Testplan" og tilføj en ny trådgruppe: Tilføj -> Tråde (brugere) -> Trådgruppe

I trådgruppens kontrolpanel skal du indtaste trådegenskaber som følger:

  • Antal tråde : 100 (Antal brugere opretter forbindelse til målwebstedet: 100)
  • Loop Count : 10 (antal tid til at udføre test)
  • Opkørselsperiode : 100

Trådtællingen og løkketællingerne er forskellige.

Ramp-Up Period fortæller JMeter, hvor længe den skal forsinkes, inden den næste bruger startes. For eksempel, hvis vi har 100 brugere og en 100 sekunders ramp-up-periode, ville forsinkelsen mellem startbrugere være 1 sekund (100 sekunder / 100 brugere)

Trin 2) Tilføjelse af JMeter-elementer

Nu bestemmer vi, hvilke JMeter-elementer der er 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 for HTTP-anmodningsindstillinger skal du indtaste webstedsnavnet under test (http://www.google.com)

  • HTTP-anmodning

Højreklik på trådgruppe, og vælg: Tilføj -> Sampler -> HTTP-anmodning .

I HTTP-anmodningens kontrolpanel angiver stifeltet, hvilken URL-anmodning du vil sende til Google-serveren.

For eksempel, hvis du indtaster "kalender" i feltet Sti. JMeter opretter URL-anmodningen http://www.google.com/calendar til Google-serveren

Hvis du holder stien-feltet tomt, opretter JMeter URL-anmodningen http://www.google.com til Google-serveren.

I denne test holder du stien-feltet tomt for at få JMeter til at 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 -> Grafresultater

Trin 4) Kør test, og få testresultatet

Tryk knappen Kør (Ctrl + R) på værktøjslinjen for at starte softwaretestprocessen. Du får vist testresultatet på Graf i realtid.

Billedet nedenfor viser en graf over en testplan, hvor vi simulerede 100 brugere, der åbnede på webstedet www.google.com.

Nederst på billedet er der følgende statistikker, repræsenteret i farver:

  • Sort: Det samlede antal nuværende sendte prøver.
  • Blå: Det aktuelle gennemsnit af alle sendte prøver.
  • Rød: Den aktuelle standardafvigelse.
  • Grøn: Gennemstrømningshastighed, der repræsenterer antallet af anmodninger pr. Minut serveren håndterede

Lad os analysere ydeevnen for Google-serveren i nedenstående figur.

For at analysere ydeevnen for den webserver, der testes, skal du fokusere på to parametre

  • Gennemstrømning
  • Afvigelse

Den Throughput er den vigtigste parameter. Det repræsenterer serverens evne til at håndtere en tung belastning. Jo højere gennemløb er, desto bedre er serverens ydeevne.

I denne test er kapaciteten på Google-serveren 1.491.193 / minut. Det betyder, at Google-server kan håndtere 1.491.193 anmodninger pr. Minut. Denne værdi er ret høj, så vi kan konkludere, at Google-serveren har god ydeevne

Den afvigelse er vist med rødt - det indikerer afvigelsen fra gennemsnittet. Jo mindre jo bedre .

Lad os sammenligne ydeevnen på Google-serveren med andre webservere. Dette er resultatet af testresultatet på webstedet http://www.yahoo.com/ (Du kan vælge andre hjemmesider)

Gennemstrømningen af ​​et testet websted http://www.yahoo.com er 867.326 / minut. Det betyder, at denne server håndterer 867.326 anmodninger pr. Minut, lavere end Google.

Afvigelsen er 2689, meget højere end Google (577). Så vi kan bestemme ydelsen på dette websted er mindre end en Google-server.

BEMÆRK: Ovenstående værdier afhænger af flere faktorer som den aktuelle serverbelastning hos Google, din internethastighed, din CPU-strøm osv. Derfor er det meget usandsynligt, at du får de samme resultater som ovenfor. Så gå ikke i panik!

Fejlfinding:

Hvis du står over for problemet, mens du kører ovenstående scenario ... gør følgende

  1. Kontroller, om du opretter forbindelse til internettet via en proxy. Hvis ja, skal du fjerne proxyen.
  2. Åbn en ny forekomst af Jmeter
  3. Åbn PerformanceTestPlan.jmx i Jmeter
  4. Dobbeltklik på trådgruppe -> Grafresultat
  5. Kør testen