Jmeter-timers: constant, Gaussisch willekeurig, uniform [voorbeeld]

Wat zijn timers?

Standaard JMeter verzendt het verzoek zonder te pauzeren tussen elk verzoek. In dat geval, JMeter kon overweldigen uw testserver door in korte tijd te veel verzoeken te doen.

Stel je voor dat je verzendt duizenden kosten verzoek binnen enkele seconden aan een te testen webserver. Dit is wat er gebeurt!

Timers in JMeter

Timers toestaan JMeter naar vertraging tussen elk verzoek dat een thread doet. Een timer kan de server oplossen overbelasten probleem.

Dus, in het echte leven komen bezoekers niet allemaal tegelijkertijd op een website aan, maar met verschillende tijdsintervallen. Timer helpt dus het realtime gedrag na te bootsen.

Hieronder volgen enkele gemeenschappelijk soorten timer in JMeter

Constante timer

Een constante timer vertraagt ​​elk gebruikersverzoek voor de dezelfde tijdshoeveelheid.

Constante timer in Jmeter

Gaussiaanse willekeurige timer

Gauss willekeurige timer vertraagt ​​elk gebruikersverzoek voor een willekeurige tijdshoeveelheid.

Gaussiaanse willekeurige timer in Jmeter

parameters

Kenmerk Beschrijving
Naam Descriptive naam voor deze timer die in de boom wordt weergegeven
Afwijkingen (milliseconden) A parameter van Gaussische distributiefunctie
Constante vertragingsoffset (milliseconden) Extra waarde in milliseconden

De totale vertraging wordt dus beschreven zoals in onderstaande afbeelding:

Gaussiaanse willekeurige timer in Jmeter

Uniforme willekeurige timer

Uniforme willekeurige timer vertraagt ​​elk gebruikersverzoek voor een willekeurige hoeveelheid tijd.

Uniforme willekeurige timer in Jmeter

parameters

Kenmerk Beschrijving
Naam Descriptive naam voor deze timer die in de boom wordt weergegeven
Willekeurige vertraging maximaal Maximaal willekeurig aantal milliseconden dat moet worden vertraagd.
Constante vertragingsoffset (milliseconden) Extra waarde in milliseconden

De totale vertraging is de som van de willekeurige waarde en de offsetwaarde.

BeanShell-timer

De Bonenschelp Timer kan worden gebruikt voortbrengen een vertragingstijd tussen elk gebruikersverzoek.

BSF-timer

De BSF-timer kan worden gebruikt om een ​​vertraging te genereren tussen elk gebruikersverzoek met behulp van een BSF scripttaal.

JSR223-timer

De JSR223-timer kan worden gebruikt om een ​​vertraging te genereren tussen elk gebruikersverzoek met behulp van een JSR223 scripttaal

Hoe u een constante timer gebruikt

In dit voorbeeld ga je gebruiken Constante timer instellen een vaste vertraging tussen gebruikersverzoeken aan google.com.

Laten we beginnen met een eenvoudig testscript

  1. JMeter creëert een gebruikersverzoek aan http://www.google.com 100 keer
  2. Vertraging tussen elk gebruikersverzoek is 5000 ms

Hier is de roadmap voor dit praktijkvoorbeeld:

Gebruik constante timer in Jmeter

Voorwaarde

We hergebruik de stap 1 en stap 2 in de zelfstudie JMeter Performance Testing.

Stap 1) Discussiegroep toevoegen

Klik met de rechtermuisknop op de Testplan en voeg een nieuwe threadgroep toe: Toevoegen-> Onderwerpen (gebruikers) ->Discussiegroep

Voer in het configuratiescherm Thread Group de Thread Properties als volgt in

Discussiegroep toevoegen

Deze instelling laat toe JMeter en je merk te creëren een gebruikersverzoek aan http://www.google.com in 100 keer

Stap 2) Toevoegen JMeter geeft je de mogelijkheid

  • Voeg standaard HTTP-verzoek toe
  • HTTP-verzoek toevoegen

Stap 3) Voeg een constante timer toe

Klik met de rechtermuisknop Discussiegroep -> Uren -> Constante timer

Voeg een constante timer toe

Thread-vertraging van 5000 milliseconden configureren

Voeg een constante timer toe

Stap 4) Voeg weergaveresultaten toe aan de tabel

Resultaten in tabel bekijken toont het testresultaat in tabelformaat.

klik met de rechtermuisknop Toevoegen -> Luisteraar ->Bekijk resultaat in tabel

Voeg weergaveresultaten in tabel toe

Bekijk resultaten in tabelweergaven zoals onderstaande afbeelding

Voeg weergaveresultaten in tabel toe

Stap 5) Voer uw test uit

Wanneer u klaar bent om een ​​test uit te voeren, klikt u op de loop knop op de menubalk, of sneltoets Ctrl + R

Dit is het resultaat van deze test

Voer de test uit

Laten we in de bovenstaande afbeelding bijvoorbeeld de Voorbeeld 2

  • Begintijd bedraagt ​​22:05:01.866
  • Proeftijd van monster 2 is 172 ms
  • Constante timer: 5000 ms (zoals geconfigureerd)
  • Eindtijd van dit voorbeeld is = 22:05:01.866 + 172 + 5000 = 22:05:07.038

Voorbeeld 3 zou dus moeten beginnen op het tijdstip dat het is 22:05:07.039 (Zoals weergegeven in de bovenstaande afbeelding)

De vertraging van elk monster is 5000 ms

Als u de Constant Timer wijzigt, is nul, u zult zien dat het resultaat is gewijzigd

Voer de test uit

Laten analyseren Voorbeeld 1

  • Begintijd bedraagt ​​22:17:39.141
  • Proeftijd van monster 2 is 370 ms
  • Constante timer : 0 ms (zoals geconfigureerd)
  • Eindtijd van dit voorbeeld is = 22:17:39.141+ 370 + 0 = 22:17:39.511

Dus de Voorbeeld 2 moet beginnen op het moment dat het is 22:17:39.512 (Weergegeven in de bovenstaande afbeelding)

Troubleshooting

Als u dit probleem ondervindt tijdens het uitvoeren van het bovenstaande scenario, doe dan het volgende

  1. Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
  2. Open een nieuw exemplaar van JMeter
  3. Open de TimerTestPlan.jmx in Jmeter
  4. Double Klik op Discussiegroep -> Resultaat in tabel bekijken
  5. Voer de test uit