Controller dentro JMeter: Ciclo, Semplice, Transazione, Modulo, Casuale
Cos'è il controller logico?
I controller logici consentono di definire l'ordine di elaborazione della richiesta in un thread. Ti consente di controllare "quando" inviare una richiesta utente a un server web. Ad esempio, puoi utilizzare i controller casuali per inviare richieste HTTP al server in modo casuale
I controllori logici determinano l'ordine in cui viene eseguita la richiesta dell'utente.
Di seguito sono riportati alcuni controller logici comunemente utilizzati:
Controllore di registrazione
JMeter può record il tuo Testing passaggi; un controller di registrazione è a segnaposto per memorizzare questi passaggi di registrazione.
Controllore semplice
Simple Controller è solo un file contenitore per richiesta dell'utente.
Controllore di loop
Il Loop Controller esegue la richiesta dell'utente un numero specificato di volte o corri per sempre come mostrato in figura:
Controllore casuale
Random Controller esegue tutte le richieste dell'utente il casuale ordine in ciascun periodo del ciclo.
Ad esempio, hai 3 richieste utente al sito web http://www.google.com nel seguente ordine:
- Richiesta HTTP
- Richiesta FTP
- Richiesta JDBC
Queste 3 richieste dovrebbero essere eseguite 5 volte. Un totale di 15 richieste utente verranno inviate al server di Google entro JMeter.
In sequenziale ordine, le richieste vengono inviate sequenzialmente nel seguente ordine:
Richiesta HTTP -> Richiesta FTP -> Richiesta JDBC
per ogni ciclo.
In con ordine, le richieste vengono inviate come a caso,
Richiesta FTP ->Richiesta HTTP->Richiesta JDBC
Or
Richiesta JDBC ->Richiesta FTP->Richiesta HTTP
Per ogni ciclo.
Controllore del modulo
L'obiettivo di Module Controller è aggiungere modularità a JMeter.
L'idea generale è che le applicazioni web siano costituite da piccole unità di funzionalità (ad esempio Accesso, Crea account, Disconnessione…). Questa funzionalità può essere memorizzata in Controllore semplice come “moduli”. Il controller del modulo sceglierà quale modulo deve essere eseguito.
Considera il seguente scenario:
Vuoi simulare:
- 50 utenti disconnessione,
- 100 utenti entrando
- 30 utenti Ricerca www.google.com
Puoi usare JMeter per creare 3 moduli. Ogni modulo simula l'attività di ogni utente: accesso, disconnessione e ricerca.
Il controller del modulo sceglie quale modulo deve essere eseguito.
Altri controllori importanti
- interfogliare Controller: prende e fa prima della richiesta dell'utente eseguita ogni cappio del filo.
- Runtime Controllore: controlli per quanto ai suoi figli è permesso correre.
Ad esempio, se hai specificato Runtime Controller 10 secondi, JMeter eseguirà il test per 10 secondi.
- operazione Controller: misura il tempo complessivo preso a finire un'esecuzione di prova
- Includere Controller: è progettato per utilizzare un piano di test esterno. Questo controller consente di utilizzare più piani di test in JMeter. Vedere i dettagli in JMeter Test di Performance.
Esempio di controller di loop
Questa sezione mostra le istruzioni dettagliate per aggiungere Controllore di loop impostato sul piano di test delle prestazioni corrente.
Il Loop Controller fa funzionare i campionatori un certo numero di volte, oltre al valore del loop specificato per il Thread Group. Ad esempio, se tu
- Aggiungi una richiesta HTTP a un controller di loop con un numero di loop pari a 50
- Configurare il numero di loop del gruppo di thread su 2
- Poi, JMeter invierà un totale di 50 * 2 = 100 richieste HTTP.
Questa è la tabella di marcia di questo esempio:
Passaggio 1) Configurazione del gruppo di thread
We riutilizzazione il passaggio 1, 2 del tutorial JMeter Test di Performance.
-
Aggiungi gruppo di thread
Fare clic destro sul Piano di test e aggiungi un nuovo gruppo di thread: Aggiungi-> Discussioni (utenti) ->Gruppo discussione
Ma nel pannello di controllo del gruppo thread, inserisci Proprietà thread come segue:
Farà prima richiesta dell'utente al server web google.com ed eseguirlo 2 volte.
-
Aggiungi JMeter elementi
Aggiungi la richiesta HTTP predefinita a www.google.com.
-
Aggiunta del controller di loop
Fare clic con il pulsante destro del mouse su Gruppo thread -> Controller logico -> Controller di loop
Passaggio 2) Configurazione del controller di loop
Aggiungere il valore 50 al campo Conteggio loop come nella figura seguente. Lo farà prima richiesta dell'utente al server web google.com eseguirlo 50 volte, oltre al valore del loop =2, specificato per il gruppo di thread sopra. Quindi JMeter invierà un totale di 2 * 50 = 100 Richieste HTTP.
Fare clic con il pulsante destro del mouse su Controller loop, Aggiungi -> Campionatore -> Richiesta HTTP
Passaggio 3) Aggiungi Visualizza risultati nella tabella
Riutilizziamo il passaggio 2 in Timer per aggiungere Visualizza risultati nella tabella
Quindi il piano di test è mostrato nella figura seguente
Passaggio 4) Esegui il test
Ora torna a Visualizza risultati nella tabella, fai clic sul pulsante Avvia sulla barra dei menu (Ctrl+R) per eseguire un test
Come mostrato nella figura seguente, JMeter Simula una richiesta dell'utente, che viene inviato 100 volte al server web http://www.google.com/. Il test viene interrotto dopo che una richiesta utente è stata inviata 100 volte.
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 ControllerTestPlan.jmx in Jmetro
- Fare clic su Gruppo di thread -> Visualizza risultato nella tabella
- Esegui il test