我在一个终极线程组(20Threads(中有三个JMeter采样器,它们的吞吐量要求如下。
- 采样器1-2000/min
- 采样器2-250/min
- 采样器3-30/分钟
我在恒定吞吐量定时器中提到了相同的值,但在执行后的总结报告中,所有采样器的吞吐量都相同,大约为30-40/min。
如何实现上述场景?
我确实尝试将线程数量增加到100(假设没有足够的线程(并运行它,但结果仍然相同。
我还尝试将吞吐量定时器更改为吞吐量整形定时器,但没有使用。
在恒定吞吐量计时器中,我尝试了"基于计算吞吐量"下拉列表中的所有可用选项。对于任何选项,吞吐量似乎都会增加或减少,但所有样本的吞吐量仍然相同,但符合我的要求。
您可以使用吞吐量控制器来控制采样器的吞吐量。对于您的场景,您可以添加3吞吐量控制器,并将其配置为以下
Throughput Controller 1
-添加Sampler1
(2000/min(作为Throughput Controller 1
的子级,并将吞吐量值更改为88
Throughput Controller 2
-添加Sampler2
(250/min(作为Throughput Controller 2
的子级,并将吞吐量值更改为11
Throughput Controller 3
-添加Sampler3
(30/min(作为Throughput Controller 1
的子级,并将吞吐量值更改为1
您不能。JMeter线程模型假设每个线程(虚拟用户(都希望在启动下一个采样器之前完成上一个采样器。
因此,如果将不同的吞吐量应用于不同的采样器,则总吞吐量将是最慢的吞吐量,就像任何以最慢组件速度运行的分布式集成系统一样。
因此,为不同的采样器获得不同吞吐量的唯一方法是将它们放在不同的线程组下。如果需要在线程组之间传递数据,可以使用__setProperty((和__P((函数组合或线程间通信插件