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.
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:
- 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:
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
Trinn 1) Legg til trådgruppe
- Start JMeter
- Plukke ut Testplan på treet
- Legg til Gjengegruppe
Høyreklikk på "Testplan" og legg til en ny trådgruppe: Legg til -> Tråder (brukere) -> Gjengegruppe
I Trådgruppekontrollpanelet skriver du inn Trådegenskaper som følger:
- 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.
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)
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.
I kontrollpanelet HTTP Request Defaults skriver du inn navnet på nettstedet under test (http://www.google.com)
-
HTTP-forespørsel
Høyreklikk på trådgruppe og velg: Legg til -> sampler -> HTTP-forespørsel.
I kontrollpanelet for HTTP-forespørsel indikerer banefeltet hvilken URL-forespørsel du vil sende til Google-serveren.
Hvis du for eksempel skriver inn "kalender” i Path-feltet. JMeter vil opprette URL-forespørselen http://www.google.com/calendar til Google-serveren
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
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.
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.
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)
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
- Sjekk om du kobler til internett via en proxy. Hvis ja, fjern proxyen.
- Åpne en ny forekomst av Jmeter
- Åpne PerformanceTestPlan.jmx i Jmeter
- Double Klikk på Trådgruppe -> Grafresultat
- Kjør testen