JMeter Timer: Konstant, Gaussisk, Uniform Slumpmässig

⚡ Smart sammanfattning

JMeter Timers introducerar en kontrollerad fördröjning mellan förfrågningar så att en tråd pausar som en riktig användare, vilket förhindrar serveröverbelastning och reproducerar realistisk tanketid över konstanta, gaussiska, enhetliga och skriptbaserade typer.

  • ⏸️ Konstant timer: Lägger till samma fasta fördröjning för varje begäran.
  • 🔔 Gaussisk slumpmässig timer: Fördröjningar med en normalfördelningskurva.
  • 📏 Uniform slumpmässig timer: Fördröjningar slumpmässigt inom ett inställt intervall.
  • 📝 Skripttimers: BeanShell, BSF och JSR223 lägger till anpassade fördröjningar.
  • 🤖 AI-hjälp: AI-modeller räknar tid utifrån verklig trafik.

JMeter Timers

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 oss föreställa oss att du skickar tusentals av förfrågningar till en webbserver under test på några sekunder. Det här är vad som händer!

Timers in JMeter

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.

Konstant timer in JMeter

Gaussisk slumpmässig timer

Gauss slumpmässig timer fördröjer varje användarbegäran för en slumpmässig tid.

Gaussisk slumpmässig timer i JMeter

Driftparametrar

Attribut BESKRIVNING
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:

Gaussisk slumpmässig timer i JMeter

Uniform Random Timer

En enhetlig slumpmässig timer fördröjer varje användarbegäran under en slumpmässig tid.

Uniform slumpmässig timer i JMeter

Driftparametrar

Attribut BESKRIVNING
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

Ocuco-landskapet 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

  1. JMeter skapar ett användarens begäran till http://www.google.com 100 gånger
  2. Dröjsmål mellan varje användarförfrågan är 5000 ms

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

Använd konstant timer i JMeter

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

Lägg till trådgrupp

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

Lägg till konstant timer

Konfigurera trådfördröjning på 5000 millisekunder

Lägg till konstant timer

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

Lägg till vyresultat i tabell

Visa resultat i tabellvisningar enligt bilden nedan

Lägg till vyresultat i tabell

Steg 5) Kör ditt test

När du är redo att köra ett test klickar du på på rymmen knappen i menyraden, eller tryck på Ctrl + R

Detta är resultatet av detta test

Kör testet

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)

Ocuco-landskapet fördröja av varje prov är 5000 ms

Om du ändrar Constant Timer är noll-, kommer du att se resultatet ändras

Kör testet

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

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

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

Vanliga frågor

Tanketid är den paus en användare tar mellan handlingar, återgiven av JMeter timers.

En timer gäller för varje samplare i dess omfattning; på trådgruppsnivå fördröjer den alla förfrågningar där.

Konstant timer lägger till en fast fördröjning; Uniform slumpmässig timer lägger till en slumpmässig fördröjning inom ett intervall.

Ja. AI analyserar trafikloggar och rekommenderar betänketidfördelningar som matchar verklig användartakt. JMeter.

AI lär sig användningsmönster, genererar realistiskt tempo och flaggar avvikelser, vilket gör belastningstester mer förutsägbara.

Sammanfatta detta inlägg med: