请回答这个问题(对JMeter来说是新手)。
我遇到的情况是,我必须从CSV文件中读取100,000个URL,但是所有URL仅应运行一次,并在服务器上实现500 req / sec的负载。使用Once Only Controller
进行了线程计数为100的尝试,但是每个线程仅读取一个URL,并在读取前100个URL后停止。
我的CSV文件如下所示:
URL1
URL2
...
URL100000
我在Once Only Controller
内调用了HTTP采样器
我在这里做错什么了吗?
答案 0 :(得分:0)
使用恒定吞吐量计时器(req / min)获得所需的TPS(req / sec) 您的TPS与活动线程数成正比。 参考:https://www.blazemeter.com/blog/how-use-jmeters-throughput-constant-timer。
请勿仅使用一次控制器。它将仅运行一次线程(在您的情况下为100)(每个线程到达1个URL并退出)。而是使用HTTP请求。
答案 1 :(得分:0)
您可以使用Throughput shaping timer进行此操作。
首先在CSV配置中,请确保设置recycle on EOF to false
,这意味着如果JMeter读取所有行,则不会从头开始。
在您的http请求中添加吞吐量调整计时器,并提及将RPS设置为500,将RPS设置为500,将RPS设置为200秒 这意味着您要告诉JMeter在200秒内达到100000个请求(每秒500个* 200秒= 10000次)。
要计算线程池大小,请使用公式rps *最大响应时间/ 1000,为此值添加一些额外的线程。
有关吞吐量整形计时器的更多信息,请follow this link