2

I have to do performance test on our API. In our current system they told 3500 request are handling per minute. But there is no way to take the amount of concurrent users per minute. So I just run my script for one user and it takes 1 minute to run all 39 request. Then I execute for 1000 users. In that case I set my Thread Group as follows

bzm - Concurrency Thread Group

Then my system completely crashed on 21min: Response Codes per Second

Summary report is as follows: JMeter Aggregate Report

I'm confused what will be the exact test that I needs to run to test my requirement. Namely: System can handle 3500 requests per minute.

Kindly help me to sort out this properly.

2 Answers 2

2

Try using Constant Throughput Timer

If you need to test your system at 3500 requests per second you need to use slightly different approach, to wit add Constant Throughput Timer to your Test Plan and configure it to limit JMeter requests rate

JMeter Constant Throughput Timer

However from what I can see from your Summary Report the majority of samplers are executed at rate of 3 requests per second and it have to be at least 58 requests per second in order to achieve 3500 requests per minute. So most probably your application simply cannot handle the load.

I would recommend first of all checking out whether your application has enough headroom to operate in terms of CPU, RAM, Network, Disk, Swap, etc. You can use i.e. JMeter PerfMon Plugin.

Also make sure that JMeter itself can produce the required load, default JMeter configuration might be not suitable for conducting the load of 1000 concurrent users so make sure you follow JMeter Best Practices, especially:

  • Run your test in non-GUI mode
  • Disable all the Listeners
  • Increase JMeter HEAP size as by defaults it's only 1 GB which might be not enough.

Further Reading

1

You can achieve this by using a plugin called JMeter Throughput Shaping Timer

The throughput shaping timer allows you to run "closed workload" You can specify the desired requests per Second (RPS) rate.

In your case your system handles 3500 RPM == 3500/60 RPS(Approzimately 60 Requests per second).

You just have to mention this rate and give sufficient number of threads,Jmeter take care of the rest..

To know more about throughput shaping timer please read this article which explains how to use throughput shaping timer to acheive RPS rate

Please let me know it it helps

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.