11

Ho bisogno di creare un test di carico, in cui c'è un massima di 4 utenti simultanei al secondo. Allora ho bisogno di ripeterlo per un'ora. C'è un modo per ottenere questo in JMeter?Come utilizzare il Throughput Timer costante per specificare un massimo di 4 utenti concurrents al secondo, durante un'ora

Ho provato con questa configurazione:

  • Numero di thread: 4
  • rampa-up periodo: contano 1
  • loop: Per sempre
  • Durata: 3600

E per assicurarmi che funzioni esattamente per un'ora, ho anche utilizzato uno Runtime Controller con lo stesso valore di runtime "3600".

Ma questi crea più utenti simultanei al secondo di quello che mi serve e inoltre è anche improbabile che che molti utenti simultanei come utente di solito prendono così il tempo per pensare prima di fare qualcosa e questo non è riflesso nella mia configurazione così anche provato usando Constant Throughput timer, ma questo mi ha solo confuso di più.

  • sono sicuro che ho bisogno di usare il costante Throughput Timer, ma io non ho la più pallida idea di come farlo nel mio caso.
  • Se si utilizza il timer di velocità costante , come devo configurare le proprietà del thread (numero di thread, periodo di accelerazione, numero di cicli, pianificazione)?
  • Ho davvero bisogno di utilizzare un controller di runtime, per garantire che il piano di test funzioni esattamente per un'ora o sia sufficiente per specificare un valore di durata di 3600?

risposta

12

Il timer di throughput costante consente di mantenere il throughput del server. (req/sec) qui richieste sono campionatori. I thread sono utenti/client che richiedono server utilizzando campionatori.

Spero che questo abbia eliminato la distinzione tra richiesta e utente, cioè campionatore e thread.

Ora il timer di rendimento costante funziona su base campionatore al minuto. quindi per il tuo requisito di 4 req al secondo. diventa 240 richieste al minuto.

e si desidera mantenere questa velocità effettiva tra tutti i thread (se si dispone di più gruppi di thread) o tra un gruppo di thread singolo se si dispone di un gruppo di thread singolo.

Quindi il motore JMeter avvierà tutte le discussioni con un determinato ramp-up, ma consentirà l'esecuzione di solo 4 campionatori in un dato secondo, vale a dire solo 4 richieste al secondo. Così il throughput è raggiunto fra tutte le discussioni e si può continuare questo per un periodo di tempo specificato utilizzando sia modi,

  1. Durata del test di controllo
  2. Runtime

enter image description here

spero che si schiarì la tua confusione e risolto il problema.

+0

Grazie mille @Nachiket. Ancora un paio di domande: 1) Data la configurazione che hai mostrato, come sarebbe la configurazione per il ** Thread Group ** (Numero di thread, periodo di accelerazione, numero di loop, ecc.)? 2) Quando uso ** Timer costante di rendimento ** ricevo sempre richieste extra nel primo minuto di esecuzione, è normale? Quindi, c'è qualche spiegazione per questo? Ancora una volta, grazie mille – Axel

+0

Ho lo stesso problema e come dice Axel, Nella documentazione non c'è nulla del motivo per cui nel primo minuto otteniamo una richiesta aggiuntiva – eddy

+2

personalmente trovo il timer di modellazione del throughput più preciso di quello di JMeter timer di throughput costante incorporato: http://jmeter-plugins.org/wiki/ThroughputShapingTimer/ –