Hvordan bruke JMeter for ytelses- og belastningstesting

⚡ Smart oppsummering

JMeter Ytelsestesting måler hvordan en webapplikasjon oppfører seg under tung samtidig belastning, og kombinerer belastningstesting og stresstesting for å avdekke maksimal kapasitet, responstider og flaskehalser før virkelige brukere overbelaster serveren.

  • 🧩 Testplan: Trådgruppe, samplere og lyttere definerer testen.
  • 👥 Trådgruppe: Angir brukere, opptrappingsperiode og løkketall.
  • 📊 Lyttere: Graf- og tabellresultater visualiserer ytelsesdata.
  • ???? Belastning vs. stress: Last inn modeller forventet trafikk; stress når bristepunktet.
  • 🤖 AI-hjelp: AI-modeller laster inn profiler og flagger ytelsesregresjoner.

JMeter 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 veiledningen skal vi gjøre en ytelsesanalyse av Google.com for 1000 brukere som bruker diverse 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 anmode du vil sende til Google server.

HTTP-forespørsel

Hvis du for eksempel skriver inn "kalender” i Path-feltet. JMeter vil opprette URL anmode http://www.google.com/calendar til Google server

HTTP-forespørsel

Hvis du beholder Path-feltet blank JMeter vil opprette URL anmode http://www.google.com til Google server.

I denne testen holder du banefeltet tomt for å lage JMeter opprette URL anmode http://www.google.com til Google server.

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 oss 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 er 1 491,193/minutt. Det betyr Google serveren kan håndtere 1 491 193 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 server til andre webservere. Dette er resultatet av 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 kl. Google, internetthastigheten din, CPU-kraften din osv. Derfor er det svært usannsynlig at du får de samme resultatene som ovenfor. Så ikke få panikk! Hvis du er interessert i å forstå hvordan serverbelastning påvirker ytelsen og hvordan du tester det, 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

Spørsmål og svar

Gjennomstrømning er antall forespørsler JMeter fullføres per sekund; høyere gjennomstrømning betyr at serveren håndterer mer belastning.

En enkelt JMeter instansen simulerer hundrevis til noen få tusen brukere; distribuert testing på tvers av maskiner skalerer til titusenvis.

JMeter er gratis, åpen kildekode, og Java-basert, mens LoadRunner er kommersiell med bredere protokollstøtte og avansert analyse.

Ja. AI leser JMeter resultatgrafer, oppdager avvik og flaskehalser, og kobler langsomme responser til belastningsnivåer.

AI genererer realistiske arbeidsmengdemodeller, justerer automatisk tråd- og opptrappingsinnstillinger og forutsier kapasitet fra historiske data.

Oppsummer dette innlegget med: