Temporizzatori Jmeter: costante, casuale gaussiano, uniforme [Esempio]
Cosa sono i timer?
Per impostazione predefinita, JMeter invia la richiesta senza fermarsi tra ogni richiesta. In quel caso, JMeter potuto sopraffare il tuo server di test effettuando troppe richieste in un breve lasso di tempo.
Immaginiamo di inviare migliaia richiesta ad un server web in prova in pochi secondi. Questo è ciò che succede!
I timer lo consentono JMeter a ritardo tra ogni richiesta effettuata da un thread. Un timer può risolvere il server sovraccarico problema.
Inoltre nella vita reale i visitatori non arrivano su un sito tutti nello stesso momento, ma a intervalli di tempo diversi. Quindi Timer aiuterà a imitare il comportamento in tempo reale.
Di seguito sono riportati alcuni comune tipi di timer in JMeter
Temporizzatore costante
Il timer costante ritarda ogni richiesta dell'utente per il stesso quantità di tempo.
Temporizzatore casuale gaussiano
Gaussiana il timer casuale ritarda ogni richiesta dell'utente per a con quantità di tempo.
Scheda Sintetica
Attributo | Descrizione |
---|---|
Nome | Descriptive nome per questo timer mostrato nell'albero |
Deviazioni (millisecondi) | A parametro della funzione di distribuzione gaussiana |
Offset ritardo costante (millisecondi) | aggiuntivo valore in millisecondi |
Quindi il ritardo totale è descritto come nella figura seguente:
Timer casuale uniforme
Il timer casuale uniforme ritarda ciascuna richiesta dell'utente per un periodo di tempo casuale.
Scheda Sintetica
Attributo | Descrizione |
---|---|
Nome | Descriptive nome per questo timer mostrato nell'albero |
Ritardo casuale massimo | Numero casuale massimo di millisecondi da ritardare. |
Offset ritardo costante (millisecondi) | aggiuntivo valore in millisecondi |
Il ritardo totale è la somma del valore casuale e del valore di offset.
Temporizzatore BeanShell
Beanshell È possibile utilizzare il timer generare un tempo di ritardo tra ogni richiesta dell'utente.
Temporizzatore BSF
Il timer BSF può essere utilizzato per generare un ritardo tra ciascuna richiesta dell'utente utilizzando a BSF linguaggio di scripting.
Temporizzatore JSR223
Il timer JSR223 può essere utilizzato per generare un ritardo tra ciascuna richiesta dell'utente utilizzando a JSR223 scripting language
Come utilizzare il timer costante
In questo esempio utilizzerai Temporizzatore costante per impostare un ritardo fisso tra le richieste degli utenti a google.com.
Iniziamo con un semplice script di prova
- JMeter crea prima richiesta dell'utente a http://www.google.com 100 volte
- Ritardo tra ogni richiesta dell'utente è 5000 ms
Ecco il tabella di marcia per questo esempio pratico:
Pre-condizionata
We riutilizzazione i passaggi 1 e 2 nel tutorial JMeter Test di Performance.
Passaggio 1) Aggiungi gruppo di thread
Fare clic destro sul Piano di test e aggiungi un nuovo gruppo di thread: Aggiungi-> Discussioni (utenti) ->Gruppo discussione
Nel pannello di controllo del gruppo thread, immettere Proprietà thread come segue
Questa impostazione consente JMeter creare prima richiesta dell'utente a http://www.google.com in 100 volte
Passaggio 2) Aggiungi JMeter elementi
- Aggiungi richiesta HTTP predefinita
- Aggiungi richiesta HTTP
Passaggio 3) Aggiungi timer costante
Fare clic con Gruppo discussione -> Timer -> Temporizzatore costante
Configurazione del ritardo del thread di 5000 millisecondi
Passaggio 4) Aggiungi Visualizza risultati nella tabella
Visualizza risultati in tabella visualizza il risultato del test in formato tabella.
Fare clic destro Aggiungi -> Ascoltatore ->Visualizza il risultato nella tabella
Visualizza i risultati nella tabella visualizzata come nella figura seguente
Passaggio 5) Esegui il test
Quando sei pronto per eseguire un test, fai clic su la corsa pulsante sulla barra dei menu o tasto di scelta rapida Ctrl + R
Questo è il risultato di questo test
Ad esempio, nella figura sopra, analizziamo il Esempio 2
- Ora di inizio è 22:05:01.866
- Tempo del campione del campione 2 è 172 ms
- Temporizzatore costante: 5000 ms (come configurato)
- Fine di questo campione è = 22:05:01.866 + 172 + 5000 = 22:05:07.038
Quindi il campione 3 dovrebbe iniziare nel momento in cui è 22:05:07.039 (Come mostrato nella figura sopra)
ritardo di ciascun campione è 5000 ms
Se si modifica il timer costante è zero, vedrai che il risultato è cambiato
Analizziamo il Esempio 1
- Ora di inizio è 22:17:39.141
- Tempo del campione del campione 2 è 370 ms
- Temporizzatore costante : 0 ms (come configurato)
- Fine di questo campione è = 22:17:39.141+ 370 + 0 = 22:17:39.511
Di conseguenza, Esempio 2 dovrebbe iniziare all'ora in cui è 22:17:39.512 (Mostrato nella figura sopra)
Troubleshooting
Se riscontri il problema durante l'esecuzione dello scenario sopra... procedi come segue
- Controlla se ti stai connettendo a Internet tramite un proxy. Se sì, rimuovi il proxy.
- Apri una nuova istanza di JMeter
- Aprire il TimerTestPlan.jmx in Jmetro
- Double Fare clic su Gruppo di thread -> Visualizza risultato nella tabella
- Esegui il test