JMeter Load test

两盒软妹~` 提交于 2019-12-12 03:27:38

问题


I want to load test a URL by hitting it few hundred times at same millisecond . I tried JMeter but I could hit 2 request at same millisecond. This seems to be problem that my machine cant create threads fast enough . Is there any solution to the issue ?


回答1:


In JMeter you can use synchronizing timer setting it to 100, this way all threads will wait until there are 100 available and hit the server:

  • http://jmeter.apache.org/usermanual/component_reference.html#Synchronizing_Timer

Another solution is to increase the number of Threads so that you hit this throughput. In next coming version (2.8) of JMeter you will be able to create threads on demand (created once needed). Anyway hitting few hundred times at same millisecond is a high load so you will have to tune JMeter correctly.

Regards

Philippe




回答2:


JMeter uses blocking HTTP client, in order to hit the server at the exact same time with 100 reqeusts you need 100 threads in JMeter. Even providing that, you still don't have 100 cores to actually run such code at the same time. Even if you had 100 cores, it takes some time to start a thread, so you would have to start them in advance and synchronize on some sort of barrier. And that is not supported in JMeter.

Why do you really want to run your server "at same millisecond"? An ordinary load test just calls the server with as many connections as possible, but not necessarily at the same time. Moreover, sometimes you are even adding random sleep between requests to simulate so-called think time.




回答3:


As per Philippe's answer, JMeter does in fact support synchronous requests. But maybe for what you want something like Apache Bench using -c100 (or tune it to whatever works) is a better option? It's pretty basic stuff but then the overhead is a lot smaller which might help in this situation.

But I would also steal from Tomasz's answer and echo his concern that perhaps this is not really the best way to approach load testing. If you're trying to replicate real life traffic then do you really need such a high level of concurrency?




回答4:


You need to use Jmeter-server and a host of client machines for load generation. Your single machine is not enough to generate the load itself.



来源:https://stackoverflow.com/questions/11745317/jmeter-load-test

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!