Jmeter系列(55)- 详解 Throughput Controller 吞吐量控制器
如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
简单介绍
自行调整该控制器下的子项的执行频率
吞吐量控制器
吞吐量控制器界面介绍
有了两个模式
- percent execution:按照百分比来执行
- total executions:按照次数来执行
字段说明
Throughput
- 对于 percent execution:0-100,代表执行次数的百分比,比如填 50,代表一半迭代中执行
- 对于 total executions:代表执行的总次数
Per User
- 若勾选,每个线程会单独计算执行频率
- 若不勾选(默认),所有线程统一计算执行频率
注意事项
虽然名叫吞吐量控制器,但并不控制控制器,只是控制子项的执行频率(次数)
Total Executions 的栗子
线程组结构树
线程组属性
吞吐量控制器
只执行 2 次
查看结果树
取样器111 只执行了 2 次
Percent Executions 的栗子
线程组结构树
线程组属性
2 个线程,每个线程循环 4 次
吞吐量控制器
循环只执行 50%
查看结果树
- 取样器222执行了 8 次,每个线程执行了 4 次
- 取样器111只执行了 4 次,每个线程执行了 2 次
勾选 per user 的栗子
线程组结构树
线程组属性
2 个线程,每个线程循环 3 次
吞吐量控制器
只执行 2 次
查看结果树
- 取样器222执行了 6 次,每个线程执行了 3 次
- 取样器111只执行了 4 次,每个线程执行了 2 次
- 控制器对每个线程单独生效
如果不勾选 Per User,结果树会怎么样呢
- 取样器222执行了 6 次,每个线程执行了 3 次
- 取样器111总共只执行了 2 次,因为线程 1 先执行,所以只有线程 1 能执行取样器111,而线程 2 不能执行
- 吞吐量控制器所有线程共享
结合循环控制器的栗子
线程组结构树
- __iterationNum 会返回当前的循环次数
- __counter 计数器
线程组属性
2 个线程,每个线程循环 2 次
循环控制器
吞吐量控制器
只执行 2 次
查看结果树
- 每个线程一共会执行 4 次
- sampler2 均会执行 4 次
- sampler1 均会执行 2 次,且都在线程第一次循环的时候,通过循环控制器循环两次执行的