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!

Temporizzatori inseriti JMeter

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 costante in Jmeter

Temporizzatore casuale gaussiano

Gaussiana il timer casuale ritarda ogni richiesta dell'utente per a con quantità di tempo.

Timer casuale gaussiano in Jmeter

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 gaussiano in Jmeter

Timer casuale uniforme

Il timer casuale uniforme ritarda ciascuna richiesta dell'utente per un periodo di tempo casuale.

Timer casuale uniforme in Jmeter

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

  1. JMeter crea prima richiesta dell'utente a http://www.google.com 100 volte
  2. Ritardo tra ogni richiesta dell'utente è 5000 ms

Ecco il tabella di marcia per questo esempio pratico:

Usa il timer costante in Jmeter

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

Aggiungi gruppo di thread

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

Aggiungi timer costante

Configurazione del ritardo del thread di 5000 millisecondi

Aggiungi timer costante

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

Aggiungi Visualizza risultati nella tabella

Visualizza i risultati nella tabella visualizzata come nella figura seguente

Aggiungi Visualizza risultati nella tabella

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

Esegui il 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

Esegui il test

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

  1. Controlla se ti stai connettendo a Internet tramite un proxy. Se sì, rimuovi il proxy.
  2. Apri una nuova istanza di JMeter
  3. Aprire il TimerTestPlan.jmx in Jmetro
  4. Double Fare clic su Gruppo di thread -> Visualizza risultato nella tabella
  5. Esegui il test