Roy Leibovitz
Roy Leibovitz

Reputation: 639

JMeter's run finish before the duration defined

We are using the JMETER 5.2.1 tool from GUI, for our performance tests and this if my first time using it.

I would like to simulate a 24 hours run of our service, when I have 30,000 agents registered and each one send 10 queries a day (300,000 queries a day in total).

For that purpose, I have defined a Thread Group with the following configuration:

Number of Threads: 30,000

Ramp-up period: 40,000

Loop count: 10

Duration: 86,400 (24 hours)

For some reason the JMETER run finishes after 11 hours only! I don't understand why because as you can see I have set the Duration to be 24 hours.

Any suggestions?

Upvotes: 2

Views: 1392

Answers (2)

lojza
lojza

Reputation: 1891

If Loop Count is not -1 or Forever, duration will be min(Duration, Loop Count * iteration duration) according to Scheduler Configuration in JMeter GUI. In other words you did 10 Loops faster then 24h. So you can run your loop Forever and limit it by 24h - you did more loops or you can try to add delay to your loop to match 10 loops in 24h. Third option is 3rd party plugin Constant throughput timer.

I would redesign your test to 10 Threads, 300 Ramp-up, Loop Forever, Duration 24h and tweak delay in Loop to match (24*60*60)/300000=0.288tps Since I understand threads as Concurrent connections at the same time (not 24h as you do)

Upvotes: 1

Dmitri T
Dmitri T

Reputation: 168072

  1. If you want your test to run for 24 hours - set Loop count at Thread Group level to Forever or to -1
  2. If you want to execute 300 000 queries in 24 hours you need to introduce a rate limiting on JMeter side to execute 208.4 requests per minute, it can be done using i.e. Constant Throughput Timer
  3. Don't use GUI to run JMeter tests as it might have very negative impact on test results, JMeter GUI is only for tests development and debugging, when it comes to test execution - go for command-line non-GUI mode

Upvotes: 1

Related Questions