我在JMeter中使用'bzm -并发线程组‘和’常量吞吐量计时器‘的组合来实现所需的’每秒请求‘是有困难的。
结构
我的测试结构如下:
螺纹组1
螺纹组2
螺纹组3
螺纹组4
数
我希望为每个线程组实现160个并发用户。
线程组1我的目标是每秒发出350次请求,其他请求的目标是每秒160次请求。
线程组有160作为“目标并发”。恒定吞吐量计时器有21000线程组1 (350 rps*60 =每分钟21000 )。恒定吞吐量计时器有9600为其他(160 rps*60= 9600每分钟)。
它们都有“基于这个线程的计算吞吐量”
目前,线程组2-4的吞吐量仅为80 rps,线程组1的吞吐量不到10。
我已经允许JMeter使用4GB的内存,并且在测试期间我不会使用所有这些。当我移除所有的吞吐量计时器时,我可以达到多达14k的rps。
我是不是遗漏了什么?是否有更好的方法来实现我想要的吞吐量?
发布于 2018-02-06 15:45:09
没有达到每秒所期望的请求数量的原因可以是:
关于第1点,请注意,常数吞吐量计时器只能暂停线程,以便将JMeter的吞吐量限制在每分钟所需的请求数。
如果您使用并发线程组,则切换到吞吐量成形定时器更有意义,它可以通过反馈回路连接到并发线程组,这样JMeter就能够启动额外的线程以达到所需的RPS速率。
您可以使用JMeter插件管理器安装吞吐量整形定时器

关于第2点:确保您正在跟踪JMeter最佳实践,并在运行JMeter的机器上监视基线OS健康指标,如果缺少CPU或内存,您可能需要考虑分布式测试。
关于第3点:与第2点相同的方法是使用分析工具来查看应用程序花费最多时间的地方
https://stackoverflow.com/questions/48645784
复制相似问题