Controller dentro JMeter: Ciclo, Logica, Transazione

⚡ Riepilogo intelligente

Controllori logici in JMeter determinare l'ordine in cui le richieste dell'utente vengono eseguite all'interno di un thread, con controller quali Loop, Random, Simple, Module e Recording.ping Come un piano di test delle prestazioni invia le richieste al server.

  • Controllori logici: I controller definiscono l'ordine in cui le richieste vengono eseguite all'interno di un thread.
  • 🔁 Controller di loop: Esegue un campionatore un numero predefinito di volte all'interno del ciclo del thread.
  • 🎲 Controllore casuale: Esegue le richieste secondarie in ordine casuale ad ogni ciclo.
  • 🧩 Controller del modulo: Aggiunge modularità consentendo di selezionare quale modulo eseguire.
  • ⏺️ Controller di registrazione: I negozi hanno registrato i passaggi di prova come segnaposto.
  • 🤖 Assistenza AI: L'IA aiuta a progettare e analizzare JMeter piani di test delle prestazioni.

Controller dentro JMeter

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:

Il controllore logico

Controllore di registrazione

JMeter può record Your Collaudo passaggi; un controller di registrazione è a segnaposto per memorizzare questi passaggi di registrazione.

Controllore di registrazione

Controllore semplice

Simple Controller è solo un file contenitore per richiesta dell'utente.

Controllore semplice

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 di loop

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:

  1. Richiesta HTTP
  2. Richiesta FTP
  3. Richiesta JDBC

Queste 3 richieste dovrebbero essere eseguite 5 volte. In totale verranno inviate 15 richieste utente a Google server di JMeter.

In sequenziale ordine, le richieste vengono inviate sequenzialmente nel seguente ordine:

Richiesta HTTP -> Richiesta FTP -> Richiesta JDBC

per ogni ciclo.

Controllore casuale

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 composte da piccole unità funzionali (ad esempio, accesso, creazione account, disconnessione...). Queste funzionalità possono essere memorizzate in Simple Controller come "moduli". Il Module Controller sceglierà quale modulo deve essere eseguito.

Controllore del modulo

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.

Controllore del modulo

Il controller del modulo sceglie quale modulo deve essere eseguito.

Controllore del modulo

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.

Altri controllori importanti

  • 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:

Esempio di controller di loop

Passaggio 1) Configurazione del gruppo di thread

We riutilizzazione il passaggio 1, 2 del tutorial JMeter Test di Performance.

  1. 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:

Aggiungi gruppo di thread

Farà prima richiesta dell'utente al server web google.com ed eseguirlo 2 volte.

  1. Aggiungi JMeter elementi

Aggiungi la richiesta HTTP predefinita a www.google.com.

  1. Aggiunta del controller di loop

Fare clic con il pulsante destro del mouse su Gruppo thread -> Controller logico -> Controller di loop

Aggiunta del 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.

Configurazione del controller di loop

Fare clic con il pulsante destro del mouse su Controller loop, Aggiungi -> Campionatore -> Richiesta HTTP

Configurazione del controller di loop

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

Aggiungi Visualizza risultati nella tabella

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.

Esegui il test

Troubleshooting

  1. Se riscontri il problema durante l'esecuzione dello scenario sopra... procedi come segue
  2. Controlla se ti stai connettendo a Internet tramite un proxy. Se sì, rimuovi il proxy.
  3. Apri una nuova istanza di Jmeter
  4. Aprire il ControllerTestPlan.jmx in Jmetro
  5. Fare clic su Gruppo di thread -> Visualizza risultato nella tabella
  6. Esegui il test

DOMANDE FREQUENTI

Un campionatore invia una richiesta effettiva al server, come ad esempio una richiesta HTTP o JDBC. Un controller logico, invece, non invia richieste direttamente; controlla l'ordine e le condizioni in base alle quali i suoi campionatori figli vengono eseguiti all'interno di un thread.

Il Transaction Controller misura il tempo totale impiegato per completare un gruppo di campionatori come un'unica transazione. È utile per cronometrare un processo aziendale a più fasi, come ad esempio l'accesso seguito da una ricerca, anziché ogni singola richiesta.

Si moltiplicano. Se un Loop Controller è impostato su 50 e il conteggio dei cicli del Thread Group è 2, ogni campionatore all'interno del controller viene eseguito 50 volte per iterazione, per un totale di 50 volte 2, ovvero 100 richieste.

Sì. L'IA può suggerire modelli di carico di lavoro realistici, generare dati di test e analizzare grafici dei risultati per segnalare i colli di bottiglia. L'apprendimento automatico rileva anomalie delle prestazioni e prevede la capacità, aiutaping gli ingegneri progettano e interpretano JMeter test più rapidi.

L'IA modella i modelli di carico previsti, regola automaticamente i parametri di test e analizza le metriche per rilevare regressioni e cause principali. Queste funzionalità intelligenti rendono i test delle prestazioni più predittivi, trasformando i dati grezzi JMeter risultati in informazioni utili per lo sviluppo delle capacità.

Riassumi questo post con: