JMeter之Throughput Controller吞吐量控制器
吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关。(注:用Constant Throughput Timer可以控制吞吐量tps)
作用:控制其子节点的执行次数与负载比例分配
吞吐量控制器有两种模式:Total Executions 和Percent Executions。
参数说明如下:
- Total Executions:整个测试计划中的总执行次数,按吞吐量值来指定执行次数。
- Percent Executions:按比例(1%-100%),整个测试计划中执行百分比。按执行次数的百分比来计算执行次数
- 吞吐量:该值可以是任意整数,如果小于等于0,则一次也不执行。
- Per User:如果勾选该项则按虚拟用户数(线程数)来计算执行次数,如果没有选中该项则按所有虚拟用户数来计算执行次数。
那么如何计算吞吐量控制器其下的执行次数?
下面添加循环控制器,在吞吐量控制器下添加Debug Sampler元件来做实验:
实验一:测试按Percent Executions模式执行次数
TestCase1:线程数3,线程循环次数2,循环控制器循环次数2,吞吐量值50%,勾选Per User
测试结果:查看“聚合报告”里Debug Sampler执行次数,Debug Sampler=6,即执行了6次
TestCase2:线程数3,线程循环次数2,循环控制器循环次数2,吞吐量值50%,不勾选Per User
测试结果,查看“聚合报告”里Debug Sampler执行次数,Debug Sampler=6,即执行了6次
TestCase1与TestCase2测试结果对比表:
线程数 |
线程组循环次数 |
控制器循环次数 |
模式 |
吞吐量值 |
Per User |
执行次数 |
3 |
2 |
2 |
Percent Executions |
50 |
勾选 |
6 |
3 |
2 |
2 |
Percent Executions |
50 |
不勾选 |
6 |
由此,得出结论:
无论Per User是否勾选,按Percent Executions模式的执行次数都不受Per User影响,Percent Executions模式的执行次数=线程数*循环次数*吞吐量%。
PS:循环次数=线程组循环次数*循环控制器循环次数。
实验二:测试按Total Executions模式执行次数
同样,按照实验一的初始条件不变:线程数3,线程循环次数2,循环控制器循环次数2,然后改变吞吐量值和是否勾选Per User来做实验。
测试的实验结果如下表:
线程数 |
线程组循环次数 |
控制器循环次数 |
模式 |
吞吐量值 |
Per User |
执行次数 |
3 |
2 |
2 |
Total Executions |
13 |
勾选 |
12 |
3 |
2 |
2 |
Total Executions |
13 |
不勾选 |
12 |
3 |
2 |
2 |
Total Executions |
12 |
勾选 |
12 |
3 |
2 |
2 |
Total Executions |
12 |
不勾选 |
12 |
3 |
2 |
2 |
Total Executions |
11 |
勾选 |
12 |
3 |
2 |
2 |
Total Executions |
11 |
不勾选 |
11 |
3 |
2 |
2 |
Total Executions |
10 |
勾选 |
12 |
3 |
2 |
2 |
Total Executions |
10 |
不勾选 |
10 |
3 |
2 |
2 |
Total Executions |
5 |
勾选 |
12 |
3 |
2 |
2 |
Total Executions |
5 |
不勾选 |
5 |
3 |
2 |
2 |
Total Executions |
4 |
勾选 |
12 |
3 |
2 |
2 |
Total Executions |
4 |
不勾选 |
4 |
3 |
2 |
2 |
Total Executions |
3 |
勾选 |
9 |
3 |
2 |
2 |
Total Executions |
3 |
不勾选 |
3 |
3 |
2 |
2 |
Total Executions |
2 |
勾选 |
6 |
3 |
2 |
2 |
Total Executions |
2 |
不勾选 |
2 |
分析数据,得出结论:
- 当勾选Per User时:
- 线程数*循环次数>=线程数*吞吐量时,Total Executions模式的执行次数=线程数*吞吐量。
- 当线程数*循环次数<线程数*吞吐量时,Total Executions模式的执行次数=当线程数*循环次数。
- 当不勾选Per User时:
- 线程数*循环次数<=吞吐量时,Total Executions模式的执行次数=线程数*循环次数。
- 当线程数*循环次数>吞吐量时,Total Executions模式的执行次数=吞吐量。
最新文章
- vue 2.0
- 特性Atrribute和枚举
- MySQL 5.6.17 rpm 文件安装顺序
- OC NSSet
- C#基础---C#如何对Json字符串处理
- Knockoutjs快速入门(经典)
- UVALive 4818 - Largest Empty Circle on a Segment (计算几何)
- 大型网站技术架构介绍--squid
- UVA 11584	一 Partitioning by Palindromes
- 在Excel中引用其他宏
- 在Windowx下创建以点开头的.hatccess文件
- 用正则表达式解析XML
- Android Thread和AsyncTask
- 【转载】Linux下的IO监控与分析
- Android应用Home键后Launcher重复启动问题
- 我喜欢的几款不错的vim插件
- L343 中译英
- python3 第二十八章 - 内置函数之List相关
- python 如何把小数变成百分数格式
- DCNN models