leexiaodong
leexiaodong

Reputation: 153

Jmeter for QPS test seems not precise?

enter image description here

From the 'Thread Properties' configuration, I think the QPS is 750/50=15. But when I run the test , the elapsed time is '00:01:01'. Does it means the real QPS is 750/61=12 ?

Upvotes: 0

Views: 1523

Answers (2)

Dmitri T
Dmitri T

Reputation: 168162

JMeter acts as follows:

  1. Given your setup JMeter starts with 1 virtual user and adds 15 users each second
  2. Each virtual user starts executing samplers upside down (or according to the Logic Controllers) as fast as it can
  3. When there are no more samplers to execute or loops to iterate the thread is being shut down
  4. When there are no more threads left the test finishes.

QPS depends on many factors, the main are:

  • Number of samplers in your Test Plan
  • Sample Result response time

So QPS is not something you can efficiently or precisely control, the options are in:

  • If QPS is too low

    • Add more "Loops" to your Thread Group so threads could re-execute samplers maintaining 750 users concurrency as looking into your Test Plan and execution time it appears you have around 13 simultaneous users only

    • Add more virtual users

  • If QPS is too high you can slow down JMeter threads to desired value using Constant Throughput Timer

Upvotes: 2

Ori Marko
Ori Marko

Reputation: 58832

50 seconds is the ramp up period, which means thread number 750 will be executed after 50 seconds, the elapsed time is influenced by the ramp up period but it only effect the starting time of the test.

  • Notice Test can be executed even "forever" by checking Forever in loop count

In your case Loop count is 1 , but test can be last for hours if there's a long list of slow HTTP requests or complex loop controller or other Test Fragments inside test.

Upvotes: 1

Related Questions