Jmeter-tidtakere: Konstant, Gaussisk tilfeldig, Uniform [Eksempel]
Hva er timere?
Som standard JMeter sender forespørselen uten å ta en pause mellom hver forespørsel. I så fall JMeter kunne overvelde testserveren din ved å gjøre for mange forespørsler på kort tid.
Tenk deg at du sender tusener forespørsel til en webserver som testes om noen få sekunder. Dette er hva som skjer!
Tidtakere tillater JMeter til forsinkelse mellom hver forespørsel som en tråd gjør. En timer kan løse serveren overbelastning problem.
Også i det virkelige liv kommer besøkende ikke til et nettsted på samme tid, men med forskjellige tidsintervaller. Så Timer vil hjelpe etterligne sanntidsatferden.
Følgende er noen felles typer timer i JMeter
Konstant timer
Konstant timer forsinker hver brukerforespørsel for samme mengde tid.
Gaussisk tilfeldig timer
Gaussian tilfeldig timer forsinker hver brukerforespørsel for en tilfeldig mengde tid.
Parametre
Egenskap | Tekniske beskrivelser |
---|---|
Navn | Descriptnavnet på denne tidtakeren som vises i treet |
Avvik (millisekunder) | A parameter av Gaussisk distribusjonsfunksjon |
Konstant forsinkelsesoffset (millisekunder) | Ytterligere verdi i millisekunder |
Så den totale forsinkelsen er beskrevet som figuren nedenfor:
Uniform tilfeldig timer
Ensartet tilfeldig timer forsinker hver brukerforespørsel i en tilfeldig tid.
Parametre
Egenskap | Tekniske beskrivelser |
---|---|
Navn | Descriptnavnet på denne tidtakeren som vises i treet |
Maksimum tilfeldig forsinkelse | Maksimalt tilfeldig antall millisekunder å forsinke. |
Konstant forsinkelsesoffset (millisekunder) | Ytterligere verdi i millisekunder |
Den totale forsinkelsen er summen av tilfeldig verdi og offsetverdi.
BeanShell Timer
Ocuco BeanShell Timer kan brukes til generere en forsinkelsestid mellom hver brukerforespørsel.
BSF timer
BSF-timeren kan brukes til å generere en forsinkelse mellom hver brukerforespørsel ved å bruke en BSF skriptspråk.
JSR223 timer
JSR223-timeren kan brukes til å generere en forsinkelse mellom hver brukerforespørsel ved å bruke en JSR223 skriptspråk
Hvordan bruke konstant timer
I dette eksemplet skal du bruke Konstant timer å sette en fast forsinkelse mellom brukerforespørsler til google.com.
La oss starte med et enkelt testskript
- JMeter skaper en brukerforespørsel til http://www.google.com 100 ganger
- Utsette mellom hver brukerforespørsel er 5000 ms
Her er det veikart for dette praktiske eksempelet:
Pre-conditioning
We gjenbruk trinn 1 og trinn 2 i opplæringen JMeter Ytelsestesting.
Trinn 1) Legg til trådgruppe
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
Denne innstillingen lar JMeter skape en brukerforespørsel til http://www.google.com in 100 ganger
Trinn 2) Legg til JMeter elementer
- Legg til standard for HTTP-forespørsel
- Legg til HTTP-forespørsel
Trinn 3) Legg til konstant timer
Høyreklikk Gjengegruppe -> Tidstaker -> Konstant timer
Konfigurerer trådforsinkelse på 5000 millisekunder
Trinn 4) Legg til visningsresultater i tabell
Vis resultater i tabell viser testresultatet i tabellformat.
Høyreklikk Legg til -> lytteren ->Vis resultat i tabell
Vis resultater i tabellvisninger som figuren nedenfor
Trinn 5) Kjør testen
Når du er klar til å kjøre en test, klikker du løpet knappen på menylinjen, eller korttast Ctrl + R
Dette er resultatet av denne testen
For eksempel, i figuren ovenfor, la analysere Eksempel 2
- Starttid er 22:05:01.866
- Prøve Tid av prøve 2 er 172 ms
- Konstant timer: 5000 ms (som konfigurert)
- Sluttid av denne prøven er = 22:05:01.866 + 172 + 5000 = 22:05:07.038
Så prøve 3 bør starte på den tiden er 22:05:07.039 (Som vist i figuren ovenfor)
Ocuco forsinkelse av hver prøve er 5000 ms
Hvis du endrer Constant Timer er null, vil du se at resultatet er endret
La analysere Eksempel 1
- Starttid er 22:17:39.141
- Prøve Tid av prøve 2 er 370 ms
- Konstant timer : 0 ms (som konfigurert)
- Sluttid av denne prøven er = 22:17:39.141+ 370 + 0 = 22:17:39.511
Så Eksempel 2 bør starte på den tiden er 22:17:39.512 (vist i figuren ovenfor)
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 TimerTestPlan.jmx i Jmeter
- Double Klikk på Trådgruppe -> Vis resultat i tabell
- Kjør testen