0

I'm trying to test my https endpoint with JMeter. I want to make at least 10000 requests per second, but when I set the number of threads to 10000 I get way less rps, around 500.

I've tried setting the number of threads to 1000 and 100, surprisingly I get this same number of rps. I'm using HTTP Sampler and "use Keep-Alive" is set to true. When I look in the statistics I see that when using 100 threads, it makes use of Keep-Alive and connect_time is around 100 ms, but when the number of threads is higher connect_time grows, it's like it stops reusing the connections.

I know this isn't a server issue, because I've tried testing that same endpoint with Yandex.Tank and phantom and it can easily maintain 10 000 requests per second, the problem is it can't use response data to make furhter requests, that's why I have to use JMeter for this task.

2 Answers2

0

I hope you are trying to achieve this using one machine. Try with multiple machine or jmeter distributed mode.

https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.pdf https://www.blazemeter.com/blog/how-to-perform-distributed-testing-in-jmeter/ https://blazemeter.com/blog/3-common-issues-when-running-jmeter-scripts-and-how-solve-them/

I am assuming that it is the issue with machine which is not able to generate that much load. Usually, i have use max 300 threads per machine but it depend on the machine config. Just check if the machine is having issue and multiple machine is able to generate more load, considering server is not having any issue.

Hope this helps.

Update:-Usually 200-500 can be handled my modern machines. Please check the below link to have some more info:-

1.How do threads and number of iterations impact test and what is JMeter’s max. thread limit
2.https://www.blazemeter.com/blog/what%e2%80%99s-the-max-number-of-users-you-can-test-on-jmeter/ .

sunny_teo
  • 1,961
  • 1
  • 7
  • 11
  • The machine, that I'm using is powerful enough, it has 4 cores and 64gb RAM, but the thing is, when I'm running JMeter with only 16 threads, it's already using all of the available CPU and only around 10% RAM. The RPS doesn't seem to change when I change the number of threads from 50 to 100 or 1000. How many threads should this machine be able to handle in your opinion? Is there some jmeter option regarding the thread number I'm missing? – Sergey Chernyaev Jun 19 '19 at 10:33
  • Please check the links updated above....To be clear, I have not dig this topic for a while. But, I know my expectation from no. of thread and RPS never meet. – sunny_teo Jun 19 '19 at 10:49
0

This can be done by using "Stepping thread group". It will allow you to send 10000 request per second upto specified time. Refer below image.

Stepping Thread Group

Download jar from below link.

https://jmeter-plugins.org/wiki/SteppingThreadGroup/