Jmeter-timer: konstant, gaussisk slumpmässig, enhetlig (exempel)

Innehållsförteckning:

Anonim

Vad är timers?

Som standard skickar JMeter begäran utan att pausa mellan varje begäran. I så fall kan JMeter överväldiga din testserver genom att göra för många förfrågningar på kort tid.

Tänk dig att du skickar tusentals förfrågningar till en webbserver som testas på några sekunder. Det här är vad som händer!

Timers gör det möjligt för JMeter att fördröja mellan varje begäran som en tråd gör. En timer kan lösa serveröverbelastningsproblemet .

I det verkliga livet anländer inte besökare till en webbplats samtidigt, utan med olika tidsintervall. Så Timer hjälper till att efterlikna beteendet i realtid.

I den här handledningen lär du dig

  • Constant Timer
  • Gaussisk slumpmässig timer
  • Enhetlig slumpmässig timer
  • BeanShell Timer
  • BSF-timer
  • JSR223 Timer
  • Hur man använder konstant timer

Följande är några vanliga typer av en timer i JMeter

Konstant timer:

Konstant timer fördröjer varje användarförfrågan under samma tid.

Gaussian Random Timer:

Gaussisk slumpmässig timer fördröjer varje användarförfrågan under en slumpmässig tid.

Parametrar:

Attribut Beskrivning
namn Beskrivande namn för denna timer som visas i trädet
Avvikelser (millisekunder) En parameter för Gaussisk distributionsfunktion
Konstant fördröjningsförskjutning (millisekunder) Tilläggsvärde i millisekunder

Så den totala fördröjningen beskrivs som nedanstående figur:

Enhetlig slumpmässig timer:

Enhetlig slumpmässig timer fördröjer varje användarförfrågan under en slumpmässig tid.

Parametrar:

Attribut

Beskrivning

namn

Beskrivande namn för denna timer som visas i trädet

Random Delay Maximum

Maximalt slumpmässigt antal millisekunder att fördröja.

Konstant fördröjningsförskjutning (millisekunder)

Tilläggsvärde i millisekunder

Den totala fördröjningen är summan av det slumpmässiga värdet och offsetvärdet.

BeanShell Timer

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 ett 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 ett JSR223-skriptspråk

Hur man använder konstant timer

I det här exemplet använder du Constant 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

  1. JMeter skapar en användarförfrågan till http://www.google.com 100 gånger
  2. Fördröjningen mellan varje användarförfrågan är 5000 ms

Här är färdplanen för detta praktiska exempel:

Förutsättning:

Vi återanvänder steg 1 och steg 2 i handledningen JMeter Performance Testing.

Steg 1) Lägg till trådgrupp

Högerklicka på testplanen och lägg till en ny trådgrupp: Lägg till -> Trådar (användare) -> Trådgrupp

I trådgruppens kontrollpanel anger du trådegenskaper enligt följande

Med den här inställningen kan JMeter skapa en användarförfrågan till http://www.google.com 100 gånger

Steg 2) Lägg till JMeter-element

  • Lägg till HTTP-begäran som standard
  • Lägg till HTTP-begäran

Steg 3) Lägg till konstant timer

Högerklicka på trådgruppen -> 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 på Lägg till -> Lyssnare -> Visa resultat i tabell

Visa resultat i tabell visas som nedanstående bild

Steg 5) Kör ditt test

När du är redo att köra ett test klickar du knappen Kör i menyraden eller kortkommandot Ctrl + R

Detta är resultatet av detta test

Till exempel, i ovanstående figur, låt oss analysera prov 2

  • Starttiden är 22: 05: 01.866
  • Provtiden för prov 2 är 172 ms
  • Konstant timer : 5000 ms (som konfigurerat)
  • Sluttiden för detta prov är = 22: 05: 011.666 + 172 + 5000 = 22: 05: 07.038

Så prov 3 bör börja klockan 22: 05: 07.039 (Som visas i figuren ovan)

Den fördröjning av varje prov är 5000 ms

Om du ändrar konstanttimern är noll ser du att resultatet ändras

Låt oss analysera prov 1

  • Starttiden är 22: 17: 39.141
  • Provtiden för prov 2 är 370 ms
  • Konstant timer : 0 ms (som konfigurerat)
  • Sluttiden för detta prov är = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511

prov 2 bör börja vid tidpunkten är 22: 17: 39.512 (visas i figuren ovan)

Felsökning:

Om du möter problemet när du kör ovanstående scenario ... gör följande

  1. Kontrollera om du ansluter till internet via en proxy. Om ja, ta bort proxyen.
  2. Öppna en ny instans av JMeter
  3. Öppna TimerTestPlan.jmx i Jmeter
  4. Dubbelklicka på trådgrupp -> Visa resultat i tabell
  5. Kör testet