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. Plukke ut 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

De 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

De 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