文章目录
- 一、吞吐量控制器(Throughput Controller)参数说明
- 二、测试计划设计
- 2.1、Total Executions
- 2.2、Percent Executions
- 2.3、Per User
一、吞吐量控制器(Throughput Controller)参数说明
允许用户控制后代元素的执行的次数。有两种模式:执行百分比和指定总数;吞吐量控制器不会影响取样器的 TPS,但会控制其内部逻辑的执行次数
选择线程组右键 >>> 添加 >>> 逻辑控制器 >>> 吞吐量控制器(Throughput Controller)
(1)、Based on(基于总迭代次数):
-
Total Executions:按照次数来执行;当小于或者等于0时,则不执行,且勾选Per User对该模式有影响
-
Percent Executions:按照百分比来执行;Per User勾选或不勾选都不会影响该模式
(2)、吞吐量(Throughput):
-
对于 percent execution:0-100,代表执行次数的百分比,比如填 50,代表一半迭代中执行
-
对于 total executions:代表执行的总次数
(3)、Per User:
-
勾选:每个线程会单独计算执行频率
-
不勾选(默认):所有线程统一计算执行频率
二、测试计划设计
2.1、Total Executions
(1)、测试计划右键 <<< 添加 <<< 线程(用户) <<< 线程组
- 参数默认即可
(2)、线程组右键 <<< 添加 <<< 逻辑控制器 <<< 吞吐量控制器
-
Based on:Total Executions
-
吞吐量:10
(3)、吞吐量控制器右键 <<< 添加 <<< 取样器 <<< 调试取样器
- 名称:调试取样器-1
(4)、线程组右键 <<< 添加 <<< 监听器 <<< 汇总报告
(5)、点击启动,点击汇总报告,进行查看
如图,虽然 吞吐量控制器 的吞吐量设置为10,但调试取样器只执行了1次
吞吐量控制器的总吞吐量次数,不能大于外面线程组的总迭代次数;如果大于外面线程组的总迭代次数,以线程组迭代次数为准
(6)、修改 线程组,将循环次数设置为100
- 循环次数:100
(7)、点击清除全部,点击启动,点击汇总报告,进行查看
如图,调试取样器执行了10次
吞吐量控制器的总吞吐量次数,小于外面线程组的总迭代次数,以吞吐量控制器的总吞吐量次数为准
2.2、Percent Executions
测试计划设计在 2.1 中进行修改验证
(1)、修改 吞吐量控制器,选择 Percent Executions,设置为30
-
Based on:Percent Executions
-
吞吐量:30
(2)、点击清除全部,点击启动,点击汇总报告,进行查看
如图,吞吐量控制器 选择按百分比 30进行执行,线程组设置总迭代次数为100,30%则为30次
吞吐量控制器选择按百分比时,以线程组总的迭代次数进行计算
(3)、修改 吞吐量控制器,吞吐量设置为200
- 吞吐量:200
(4)、点击清除全部,点击启动,点击汇总报告,进行查看
如图,调试取样器-1只执行了100次
吞吐量控制器的吞吐量设置为200,意思是按线程组总迭代次数的百分之200进行执行,也就是执行200次,但吞吐量控制器的总吞吐量不能大于线程组的总迭代次数,所以最多只执行100次
(5)、修改 吞吐量控制器,吞吐量设置为10
- 吞吐量:10
(6)、线程组右键 <<< 添加 <<< 取样器 <<< 调试取样器
- 名称:调试取样器-2
(7)、点击清除全部,点击启动,点击汇总报告,进行查看
如图,最外侧的调试取样器-2执行了100次,而吞吐量控制器下的调试取样器-1只执行10次
2.3、Per User
注:当 吞吐量控制器 选择 Percent Executions 时,Per User 勾选或不勾选都不会影响该模式
测试计划设计在 2.2 中进行修改验证
(1)、修改 线程组,设置线程数为2
-
线程数:2
-
循环次数:100
(2)、修改 吞吐量控制器,选择 Total Executions,吞吐量设置为10
-
Based on 选择 Total Executions
-
吞吐量:10
(3)、点击清除全部,点击启动,点击汇总报告,进行查看
如图,最外侧的调试取样器-2执行了200次,而吞吐量控制器下的调试取样器-1只执行10次
未勾选 Per User,所有线程统一计算执行,执行下面子组件的次数
(4)、修改 吞吐量控制器,勾选 Per User
- 勾选 Per User
(5)、点击清除全部,点击启动,点击汇总报告,进行查看
如图,最外侧的调试取样器-2执行了200次,而吞吐量控制器下的调试取样器-1只执行20次
勾选 Per User,每个线程会单独计算执行,每一个线程都执行下面子组件的次数