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 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.
Gaussiaanse willekeurige timer
Gauss willekeurige timer vertraagt elk gebruikersverzoek voor een willekeurige tijdshoeveelheid.
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:
Uniforme willekeurige timer
Uniforme willekeurige timer vertraagt elk gebruikersverzoek voor een willekeurige hoeveelheid tijd.
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
- JMeter creëert een gebruikersverzoek aan http://www.google.com 100 keer
- Vertraging tussen elk gebruikersverzoek is 5000 ms
Hier is de roadmap voor dit praktijkvoorbeeld:
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
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
Thread-vertraging van 5000 milliseconden configureren
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
Bekijk resultaten in tabelweergaven zoals onderstaande afbeelding
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
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
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
- Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
- Open een nieuw exemplaar van JMeter
- Open de TimerTestPlan.jmx in Jmeter
- Double Klik op Discussiegroep -> Resultaat in tabel bekijken
- Voer de test uit