Jmeter-tidtakere: konstant, gaussisk tilfeldig, uniform (eksempel)

Innholdsfortegnelse:

Anonim

Hva er tidtakere?

Som standard sender JMeter forespørselen uten å stoppe mellom hver forespørsel. I så fall kan JMeter overvelde testserveren din ved å komme med for mange forespørsler på kort tid.

La oss forestille deg at du sender tusenvis av forespørsler til en webserver som testes på få sekunder. Dette er hva som skjer!

Timere lar JMeter forsinke mellom hver forespørsel som en tråd lager. En tidtaker kan løse serverens overbelastningsproblem .

I virkeligheten kommer besøkende heller ikke til et nettsted på samme tid, men med forskjellige tidsintervaller. Så Timer vil bidra til å etterligne sanntidsadferd.

I denne veiledningen vil du lære

  • Constant Timer
  • Gaussisk tilfeldig tidtaker
  • Uniform Random Timer
  • BeanShell Timer
  • BSF-tidtaker
  • JSR223 Timer
  • Hvordan bruke konstant tidtaker

Følgende er noen vanlige typer tidtakere i JMeter

Konstant timer:

Konstant tidtaker forsinker hver brukerforespørsel i like lang tid.

Gaussisk tilfeldig tidtaker:

Gaussian random timer forsinker hver brukerforespørsel i tilfeldig tid.

Parametere:

Egenskap Beskrivelse
Navn Beskrivende navn for denne tidtakeren som vises i treet
Avvik (millisekunder) En parameter for Gaussisk distribusjonsfunksjon
Konstant forsinkelse forskyvning (millisekunder) Tilleggsverdi i millisekunder

Så den totale forsinkelsen er beskrevet som figuren nedenfor:

Ensartet tilfeldig tidtaker:

Uniform random timer forsinker hver brukerforespørsel i tilfeldig tid.

Parametere:

Egenskap

Beskrivelse

Navn

Beskrivende navn for denne tidtakeren som vises i treet

Tilfeldig forsinkelse maksimalt

Maksimalt tilfeldig antall millisekunder å forsinke.

Konstant forsinkelse forskyvning (millisekunder)

Tilleggsverdi i millisekunder

Den totale forsinkelsen er summen av tilfeldig verdi og forskjøvet verdi.

BeanShell Timer

BeanShell Timer kan brukes til å generere en forsinkelsestid mellom hver brukerforespørsel.

BSF-tidtaker

BSF-timeren kan brukes til å generere en forsinkelse mellom hver brukerforespørsel ved hjelp av et BSF-skriptspråk.

JSR223 Timer

JSR223-tidtakeren kan brukes til å generere en forsinkelse mellom hver brukerforespørsel ved hjelp av et JSR223-skriptspråk

Hvordan bruke konstant tidtaker

I dette eksemplet vil du bruke konstant tidtaker til å angi en fast forsinkelse mellom brukerforespørsler til google.com.

La oss starte med et enkelt testskript

  1. JMeter oppretter en brukerforespørsel til http://www.google.com 100 ganger
  2. Forsinkelsen mellom hver brukerforespørsel er 5000 ms

Her er veikartet for dette praktiske eksemplet:

Forutsetning:

Vi bruker trinn 1 og trinn 2 i opplæringen JMeter Performance Testing.

Trinn 1) Legg til trådgruppe

Høyreklikk på testplanen og legg til en ny trådgruppe: Legg til -> Tråder (brukere) -> Trådgruppe

I trådgruppens kontrollpanel skriver du inn trådegenskaper som følger

Denne innstillingen lar JMeter opprette en brukerforespørsel til http://www.google.com 100 ganger

Trinn 2) Legg til JMeter-elementer

  • Legg til HTTP-forespørsel som standard
  • Legg til HTTP-forespørsel

Trinn 3) Legg til konstant tidtaker

Høyreklikk på trådgruppen -> Timer -> Constant Timer

Konfigurere trådforsinkelse på 5000 millisekunder

Trinn 4) Legg til visningsresultater i tabell

Vis resultater i tabell viser testresultatet i tabellformat.

Høyreklikk Legg til -> Lytter -> Vis resultat i tabell

Vis resultatene i tabellen som vist nedenfor

Trinn 5) Kjør testen

Når du er klar til å kjøre en test, klikker du på Run- knappen på menylinjen eller på hurtigtasten Ctrl + R

Dette er resultatet av denne testen

For eksempel, i figuren ovenfor, la oss analysere prøve 2

  • Starttid er 22: 05: 01.866
  • Eksempeltid for prøve 2 er 172 ms
  • Konstant timer : 5000 ms (som konfigurert)
  • Sluttiden for denne prøven er = 22: 05: 011.666 + 172 + 5000 = 22: 05: 07.038

Så prøve 3 skal starte klokka 22: 05: 07.039 (som vist i figuren ovenfor)

Den forsinkelse av hver prøve er 5000 ms

Hvis du endrer at konstant tidtakeren er null , vil du se at resultatet er endret

La oss analysere prøve 1

  • Starttid er 22: 17: 39.141
  • Eksempeltid for prøve 2 er 370 ms
  • Konstant timer : 0 ms (som konfigurert)
  • Sluttiden for denne prøven er = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511

prøve 2 skal starte klokka 22:17: 39.512 (vist i figuren ovenfor)

Feilsøking:

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

  1. Sjekk om du kobler til internett via en proxy. Hvis ja, fjern fullmakten.
  2. Åpne en ny forekomst av JMeter
  3. Åpne TimerTestPlan.jmx i Jmeter
  4. Dobbeltklikk på trådgruppe -> Vis resultat i tabell
  5. Kjør testen