我无法在JMeter中使用'bzm - 并发线程组'和'恒定吞吐量计时器'来实现所需的“每秒请求数”。
结构
我的测试结构如下:
线程组1
恒定吞吐量计时器
HTTP请求
线程组2
线程组3
线程组4
数字
我想为每个线程组实现160个并发用户。
线程组1我的目标是每秒发出350个请求,其他的目标是每秒发出160个请求。
线程组有160个作为“目标并发”。 常量吞吐量计时器为线程组1提供21000(350 rps * 60 =每分钟21000)。 恒定吞吐量计时器为其他人提供9600(160 rps * 60 = 9600每分钟)。
他们所有人都有'基于此线程计算吞吐量'
我目前只为Thread Group 2-4获得了大约80 rps的吞吐量,而对于Thread Group 1来说只有不到10 rps。
我允许JMeter使用4GB的RAM,而我在测试期间没有使用所有这些。当我删除所有吞吐量计时器时,我可以达到高达14k rps。
我错过了什么吗?有没有更好的方法来实现我想要的吞吐量?
答案 0 :(得分:0)
每秒无法达到所需请求数的原因可能是:
关于第1点,请注意恒定吞吐量计时器只能暂停线程,以便将JMeter的吞吐量限制达到每分钟所需的请求数。
鉴于您使用并发线程组,切换到可以通过Throughput Shaping Timer连接到并发线程组的feedback loop更有意义,因此JMeter将能够启动额外的线程以实现所需的RPS率。
安装吞吐量整形计时器关于第2点:确保您正在关注JMeter Best Practices并监视运行JMeter的计算机上的基准操作系统运行状况指标,如果缺少CPU或RAM,则可能需要考虑{{3} }
关于第3点:与第2点相同的方法+使用分析工具查看应用程序花费大部分时间的位置