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
- JMeter oppretter en brukerforespørsel til http://www.google.com 100 ganger
- 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
Så 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
- Sjekk om du kobler til internett via en proxy. Hvis ja, fjern fullmakten.
- Åpne en ny forekomst av JMeter
- Åpne TimerTestPlan.jmx i Jmeter
- Dobbeltklikk på trådgruppe -> Vis resultat i tabell
- Kjør testen