我正在使用JMet4.0和吞吐量成形定时器,我已经提到了我的配置如下:
bzm -并发线程组:
jp@gc -通过整形定时器启动RPS: 333 \x{e76f}\x{e76f}(秒):1200
由于测试持续时间被提到为1200秒,并且Rps为333/秒,所以通过测试的请求命中次数应该是(333*1200) = 399600。但实际点击次数在每秒400000到410000次之间。
如何限制吞吐量整形定时器不发送额外的请求?
发布于 2019-03-11 08:06:54
您的总测试持续时间isn't 1200 seconds。查看并发线程组配置,您的测试持续时间正好是6001秒( 1000用户的提升速度为1秒,保持目标速率时间为6000秒)。
要获得所需的RPS,您必须遵循以下公式来定义并发线程组中的线程数:
线程池大小可以像
RPS * <max response time> / 1000那样计算。
如果您的响应时间是1 second,那么333 Threads就足以实现这个RPS。我想,在这种情况下,您使用了更多的线程。
根据您给定的测试计划,它的工作方式是:1000个用户在1秒内处于活动状态,然后他们将尝试在1200秒内达到333 RPS,然后他们将维护1000个用户的剩余时间请求(6001-1220=4801秒),就像您刚才提到的那样,1000个用户将保持负载100分钟。由于这个原因,您得到的额外请求比预期的多。
因此,在线程组中定义线程数并相应地增加时间,并正确同步测试持续时间(在本例中,保持加载时间可能是20分钟,而不是100分钟)。
https://stackoverflow.com/questions/55096221
复制相似问题