Jmeter-timer: konstant, gaussisk slumpmässig, enhetlig [exempel]
Vad är timers?
Som standard JMeter skickar förfrågan utan att pausa mellan varje begäran. Isåfall, JMeter kunde överväldiga din testserver genom att göra för många förfrågningar på korta gånger.
Låt föreställa dig att du skickar tusentals begäran till en webbserver som testas inom några sekunder. Det här är vad som händer!
Timers tillåter JMeter till fördröja mellan varje begäran som en tråd gör. En timer kan lösa servern överbelastning problem.
Också, i verkligheten kommer besökare inte till en webbplats samtidigt, utan med olika tidsintervall. Så Timer hjälper till att efterlikna beteendet i realtid.
Följande är några gemensam typer av timer i JMeter
Konstant timer
Konstant timer fördröjer varje användarbegäran för Samma tid.
Gaussisk slumpmässig timer
Gauss slumpmässig timer fördröjer varje användarbegäran för en slumpmässig tid.
parametrar
Attribut | Description |
---|---|
Namn | Descriptive namn för denna timer som visas i trädet |
Avvikelser (millisekunder) | A parameter av Gaussisk distributionsfunktion |
Konstant fördröjningsoffset (millisekunder) | Annat värde i millisekunder |
Så den totala förseningen beskrivs som nedanstående figur:
Uniform Random Timer
En enhetlig slumpmässig timer fördröjer varje användarbegäran under en slumpmässig tid.
parametrar
Attribut | Description |
---|---|
Namn | Descriptive namn för denna timer som visas i trädet |
Slumpmässig fördröjning Maximum | Maximalt slumpmässigt antal millisekunder att fördröja. |
Konstant fördröjningsoffset (millisekunder) | Annat värde i millisekunder |
Den totala fördröjningen är summan av slumpvärdet och offsetvärdet.
BeanShell Timer
Smakämnen Beanshell Timer kan användas för att generera en fördröjningstid mellan varje användarförfrågan.
BSF Timer
BSF-timern kan användas för att generera en fördröjning mellan varje användarförfrågan med hjälp av en BSF skriptspråk.
JSR223 Timer
JSR223-timern kan användas för att generera en fördröjning mellan varje användarförfrågan med hjälp av en JSR223 skriptspråk
Hur man använder konstant timer
I det här exemplet kommer du att använda Konstant timer för att ställa in en fast fördröjning mellan användarförfrågningar till google.com.
Låt oss börja med ett enkelt testskript
- JMeter skapar ett användarens begäran till http://www.google.com 100 gånger
- Dröjsmål mellan varje användarförfrågan är 5000 ms
Här är färdplan för detta praktiska exempel:
Förkonditionering
We återanvändning steg 1 och steg 2 i handledningen JMeter Prestandatester.
Steg 1) Lägg till trådgrupp
Högerklicka på Testplan och lägg till en ny trådgrupp: Lägg till-> Trådar (användare) ->Trådgrupp
I Trådgruppskontrollpanelen anger du Trådegenskaper enligt följande
Den här inställningen tillåter JMeter skapa ett användarens begäran till http://www.google.com in 100 gånger
Steg 2) Lägg till JMeter element
- Lägg till standard för HTTP-begäran
- Lägg till HTTP-begäran
Steg 3) Lägg till konstant timer
Högerklicka Trådgrupp -> timer -> Konstant timer
Konfigurera trådfördröjning på 5000 millisekunder
Steg 4) Lägg till vyresultat i tabell
Visa resultat i tabell visar testresultatet i tabellformat.
Högerklicka Lägg till -> Lyssnare ->Visa resultat i tabell
Visa resultat i tabellvisningar enligt bilden nedan
Steg 5) Kör ditt test
Klicka på när du är redo att köra ett test på rymmen knapp på menyraden eller kortknapp Ctrl + R
Detta är resultatet av detta test
Till exempel, i figuren ovan, låt analysera Prov 2
- Starttid är 22:05:01.866
- prov Tid av prov 2 är 172 ms
- Konstant timer: 5000 ms (som konfigurerat)
- Sluttid av detta prov är = 22:05:01.866 + 172 + 5000 = 22:05:07.038
Så prov 3 bör starta vid den tidpunkten 22:05:07.039 (Som visas i bilden ovan)
Smakämnen fördröja av varje prov är 5000 ms
Om du ändrar Constant Timer är noll-, kommer du att se resultatet ändras
Låt analysera Prov 1
- Starttid är 22:17:39.141
- prov Tid av prov 2 är 370 ms
- Konstant timer : 0 ms (som konfigurerat)
- Sluttid av detta prov är = 22:17:39.141+ 370 + 0 = 22:17:39.511
Så Prov 2 bör börja vid tidpunkten är 22:17:39.512 (Visas i bilden ovan)
Felsökning
Om du stöter på problemet när du kör scenariot ovan ... gör följande
- Kontrollera om du ansluter till internet via en proxy. Om ja, ta bort proxyn.
- Öppna en ny instans av JMeter
- Öppna TimerTestPlan.jmx i Jmeter
- Double Klicka på Trådgrupp -> Visa resultat i tabell
- Kör testet