Hvordan bruke JMeter for ytelses- og belastningstesting

JMeter Load Testing

JMeter Load Testing er en testprosess utfรธrt ved hjelp av et lasttestingsverktรธy kalt Apache JMeter som er รฅpen kildekode desktop-applikasjon basert pรฅ Java. JMeter for belastningstesting er et avgjรธrende verktรธy som avgjรธr om nettapplikasjonen som testes kan tilfredsstille hรธye belastningskrav eller ikke. Det hjelper ogsรฅ รฅ analysere den totale serveren under stor belastning.

JMeter Ytelsestesting

JMeter Ytelsestesting is Testing metode utfรธrt ved hjelp av Apache JMeter for รฅ teste ytelsen til en nettapplikasjon. JMeter for ytelsestesting hjelper til med รฅ teste bรฅde statiske og dynamiske ressurser, hjelper til med รฅ oppdage samtidige brukere pรฅ nettstedet og gir en rekke grafiske analyser for ytelsestesting. JMeter ytelsestesting inkluderer belastningstest og stresstest av webapplikasjon.

JMeter Ytelsestesting

Apache JMeter testverktรธyet tilbyr fรธlgende nytte in Ytelsestesting

  • JMeter kan brukes til รฅ teste ytelsen til begge statisk ressurser som f.eks JavaScript og HTML, sรฅ vel som dynamisk ressurser, som JSP, Servlets og AJAX.
  • JMeter kan oppdage maksimalt antall samtidige brukere som nettstedet ditt kan hรฅndtere
  • JMeter gir en rekke grafiske analyser av resultatrapporter.

JMeter Ytelsestesting inkluderer:

JMeter Ytelsestesting

  • Laste Testing: Modellering av forventet bruk ved รฅ simulere tilgang til flere brukere Webtjenester samtidig.
  • Stress Testing: Hver webserver har en maksimal lastekapasitet. Nรฅr belastningen gรฅr over grensen, begynner webserveren รฅ reagere sakte og produsere feil. Hensikten med Stresstesting er รฅ finne den maksimale belastningen webserveren kan hรฅndtere.

Figuren under viser hvordan JMeter belastningstesting simulerer den tunge belastningen:

JMeter Ytelsestesting

Lag en ytelsestestplan i JMeter

I denne opplรฆringen gjรธr vi en ytelsesanalyse av Google.com for 1000 brukere som bruker forskjellige verktรธy for ytelsestesting for รฅ sikre at nettstedet kan hรฅndtere belastningen og gi en sรธmlรธs brukeropplevelse.

Fรธr vi tester ytelsen til mรฅlnettapplikasjonen, bรธr vi bestemme-

  • Normal belastning: Gjennomsnittlig antall brukere som besรธker nettstedet ditt
  • Tung last: Maksimalt antall brukere som besรธker nettstedet ditt
  • Hva er din mรฅl i denne testen?

Her er det veikart av dette praktiske eksemplet

Lag en ytelsestestplan i JMeter

Trinn 1) Legg til trรฅdgruppe

  1. Start JMeter
  2. Velg Testplan pรฅ treet
  3. Legg til Gjengegruppe

Hรธyreklikk pรฅ "Testplan" og legg til en ny trรฅdgruppe: Legg til -> Trรฅder (brukere) -> Gjengegruppe

Legg til trรฅdgruppe

I Trรฅdgruppekontrollpanelet skriver du inn Trรฅdegenskaper som fรธlger:

Legg til trรฅdgruppe

  • Antall trรฅder: 100 (Antall brukere kobler til mรฅlnettstedet: 100)
  • lรธkkeantall: 10 (antall tid for รฅ utfรธre testing)
  • Ramp- Opp periode: 100

Thread Count og The Loop Counts er annerledes.

Legg til trรฅdgruppe

Ramp-Up Periode forteller JMeter hvor lenge til forsinkelse fรธr du starter neste bruker. For eksempel hvis vi har 100 brukere og en 100-sekunders Ramp- Opp periode, da vil forsinkelsen mellom startende brukere vรฆre 1 sekund (100 sekunder /100 brukere)

Legg til trรฅdgruppe

Trinn 2) Legge til JMeter elementer

Nรฅ bestemmer vi hva JMeter elementer i denne testen. Elementene er

  • HTTP-forespรธrsel Standard

Dette elementet kan legges til ved รฅ hรธyreklikke pรฅ trรฅdgruppen og velge: Legg til -> Konfigurasjonselement -> Standarder for HTTP-forespรธrsel.

Legge JMeter Elements

I kontrollpanelet HTTP Request Defaults skriver du inn navnet pรฅ nettstedet under test (http://www.google.com)

Legge JMeter Elements

  • HTTP-forespรธrsel

Hรธyreklikk pรฅ trรฅdgruppe og velg: Legg til -> sampler -> HTTP-forespรธrsel.

HTTP-forespรธrsel

I kontrollpanelet for HTTP-forespรธrsel indikerer banefeltet hvilken URL-forespรธrsel du vil sende til Google-serveren.

HTTP-forespรธrsel

Hvis du for eksempel skriver inn "kalenderโ€ i Path-feltet. JMeter vil opprette URL-forespรธrselen http://www.google.com/calendar til Google-serveren

HTTP-forespรธrsel

Hvis du beholder Path-feltet blank JMeter vil opprette URL-forespรธrselen http://www.google.com til Google-serveren.

I denne testen holder du banefeltet tomt for รฅ lage JMeter opprette URL-forespรธrselen http://www.google.com til Google-serveren.

Trinn 3) Legge til grafresultat

JMeter kan vise testresultatet i grafformat.

Hรธyreklikk Test Plan, Legg til -> lytteren -> Graf resultater

Legger til grafresultat

Trinn 4) Kjรธr Test og fรฅ testresultatet

Press lรธpet knappen (Ctrl + R) pรฅ verktรธylinjen for รฅ starte programvaretestingen. Du vil se testresultatet vises pรฅ Graph i sanntid.

Bildet nedenfor viser en graf over en testplan, der vi simulerte 100 brukere som hadde tilgang til nettstedet www.google.com.

Kjรธr test og fรฅ testresultatet

Nederst pรฅ bildet er det fรธlgende statistikk, representert i farger:

  • Svart: Totalt antall aktuelle prรธver sendt.
  • Blรฅ: Gjeldende gjennomsnitt av alle prรธver som er sendt.
  • Rรธd: Gjeldende standardavvik.
  • Grรธnn: Gjennomstrรธmningshastighet som representerer antall forespรธrsler per minutt serveren behandlet

La analysere ytelsen til Google-serveren i figuren nedenfor.

Kjรธr test og fรฅ testresultatet

For รฅ analysere ytelsen til webserveren som testes, bรธr du fokusere pรฅ 2 parametere

  • gjennomstrรธmming
  • Avvik

Ocuco gjennomstrรธmming er den viktigste parameteren. Det representerer serverens evne til รฅ hรฅndtere en stor belastning. De hรธyere gjennomstrรธmningen er bedre er serverytelsen.

I denne testen er gjennomstrรธmningen til Google-serveren 1,491.193 1,491.193/minutt. Det betyr at Google-serveren kan hรฅndtere XNUMX XNUMX XNUMX forespรธrsler per minutt. Denne verdien er ganske hรธy, sรฅ vi kan konkludere med at Google-serveren har god ytelse

Ocuco avvik vises i rรธdt โ€“ det indikerer avviket fra gjennomsnittet. De mindre de bedre.

La oss sammenligne ytelsen til Google-serveren med andre webservere. Dette er ytelsestesten til nettstedet http://www.yahoo.com/ (Du kan velge andre nettsteder)

Kjรธr test og fรฅ testresultatet

Gjennomstrรธmningen til et nettsted som testes http://www.yahoo.com er 867.326/minutt. Det betyr at denne serveren hรฅndterer 867.326 forespรธrsler per minutt, lavere enn Google.

Avviket er 2689, mye hรธyere enn Google (577). Sรฅ vi kan fastslรฅ at ytelsen til dette nettstedet er mindre enn en Google-server.

NOTAT: Verdiene ovenfor avhenger av flere faktorer som gjeldende serverbelastning hos Google, internetthastigheten din, CPU-kraften din osv. Derfor er det svรฆrt usannsynlig at du vil fรฅ de samme resultatene som ovenfor. Sรฅ ikke fรฅ panikk! Hvis du er interessert i รฅ forstรฅ hvordan serverbelastning pรฅvirker ytelsen og hvordan du tester den, kan du finne dette veiledning for lasttesting nyttig.

Feilsรธking

Hvis du mรธter problemet mens du kjรธrer scenariet ovenfor ... gjรธr fรธlgende

  1. Sjekk om du kobler til internett via en proxy. Hvis ja, fjern proxyen.
  2. ร…pne en ny forekomst av Jmeter
  3. ร…pne PerformanceTestPlan.jmx i Jmeter
  4. Double Klikk pรฅ Trรฅdgruppe -> Grafresultat
  5. Kjรธr testen

Oppsummer dette innlegget med: