Jmeter-timere: Konstant, Gaussisk tilfældig, ensartet [Eksempel]
Hvad er timere?
Som standard JMeter sender anmodningen uden at holde pause mellem hver anmodning. I det tilfælde, JMeter kunne overvælde din testserver ved at lave for mange anmodninger på kort tid.
Lad dig forestille dig, at du sender tusinder forespørgsel til en webserver under test om få sekunder. Dette er hvad der sker!
Timer tillader JMeter til forsinkelse mellem hver anmodning, som en tråd fremsætter. En timer kan løse serveren overbelastning problem.
Således, i det virkelige liv ankommer besøgende ikke til en hjemmeside alle på samme tid, men med forskellige tidsintervaller. Så Timer hjælper med at efterligne realtidsadfærden.
Følgende er nogle fælles typer af en timer i JMeter
Konstant timer
Konstant timer forsinker hver brugeranmodning om samme tid.
Gaussisk tilfældig timer
Gauss tilfældig timer forsinker hver brugeranmodning om en tilfældig tid.
parametre
Attribut | Description |
---|---|
Navn | Descriptive navn for denne timer, der vises i træet |
Afvigelser (millisekunder) | A parameter af Gaussisk distributionsfunktion |
Konstant forsinkelse offset (millisekunder) | Yderligere værdi i millisekunder |
Så den samlede forsinkelse er beskrevet som nedenstående figur:
Ensartet tilfældig timer
Ensartet tilfældig timer forsinker hver brugeranmodning i et tilfældigt tidsrum.
parametre
Attribut | Description |
---|---|
Navn | Descriptive navn for denne timer, der vises i træet |
Maksimum tilfældig forsinkelse | Maksimalt tilfældigt antal millisekunder at forsinke. |
Konstant forsinkelse offset (millisekunder) | Yderligere værdi i millisekunder |
Den samlede forsinkelse er summen af den tilfældige værdi og offsetværdien.
BeanShell timer
BeanShell Timer kan bruges til generere en forsinkelsestid mellem hver brugeranmodning.
BSF timer
BSF-timeren kan bruges til at generere en forsinkelse mellem hver brugeranmodning ved hjælp af en BSF scriptsprog.
JSR223 timer
JSR223-timeren kan bruges til at generere en forsinkelse mellem hver brugeranmodning ved hjælp af en JSR223 scripting sprog
Sådan bruger du konstant timer
I dette eksempel skal du bruge Konstant timer at indstille en fast forsinkelse mellem brugeranmodninger til google.com.
Lad os starte med et simpelt testscript
- JMeter skaber en brugeranmodning til http://www.google.com 100 gange
- Forsinke mellem hver brugeranmodning er 5000 ms
Her er den køreplan for dette praktiske eksempel:
Pre-condition
We genbruge trin 1 og trin 2 i selvstudiet JMeter Test af ydeevne.
Trin 1) Tilføj trådgruppe
Højreklik på Testplan og tilføj en ny trådgruppe: Tilføj-> Tråde (brugere) ->Trådgruppe
I Trådgruppekontrolpanelet skal du indtaste Trådegenskaber som følger
Denne indstilling tillader JMeter skabe en brugeranmodning til http://www.google.com in 100 gange
Trin 2) Tilføj JMeter elementer
- Tilføj HTTP-anmodningsstandard
- Tilføj HTTP-anmodning
Trin 3) Tilføj konstant timer
Højreklik Trådgruppe -> timer -> Konstant timer
Konfiguration af trådforsinkelse på 5000 millisekunder
Trin 4) Tilføj visningsresultater i tabel
Vis resultater i tabel viser testresultatet i tabelformat.
Højreklik Tilføj -> Lytter ->Se resultat i tabel
Se resultater i tabelvisninger som nedenstående figur
Trin 5) Kør din test
Når du er klar til at køre en test, skal du klikke Løbet knappen på menulinjen eller korttast Ctrl + R
Dette er resultatet af denne test
Lad for eksempel i ovenstående figur analysere Prøve 2
- Start tid er 22:05:01.866
- prøve Tid af prøve 2 er 172 ms
- Konstant timer: 5000 ms (som konfigureret)
- End Time af denne prøve er = 22:05:01.866 + 172 + 5000 = 22:05:07.038
Så prøve 3 skulle starte på det tidspunkt 22:05:07.039 (Som vist i ovenstående figur)
forsinkelse af hver prøve er 5000 ms
Hvis du ændrer Constant Timer er nul, vil du se, at resultatet er ændret
Lad analysere Prøve 1
- Start tid er 22:17:39.141
- prøve Tid af prøve 2 er 370 ms
- Konstant timer : 0 ms (som konfigureret)
- End Time af denne prøve er = 22:17:39.141+ 370 + 0 = 22:17:39.511
Så Prøve 2 skal starte på det tidspunkt er 22:17:39.512 (vist i ovenstående figur)
Fejlfinding
Hvis du står over for problemet, mens du kører ovenstående scenarie ... gør følgende
- Kontroller, om du opretter forbindelse til internettet via en proxy. Hvis ja, fjern proxyen.
- Åbn en ny forekomst af JMeter
- Åbne TimerTestPlan.jmx i Jmeter
- Double Klik på Trådgruppe -> Vis resultat i tabel
- Kør testen