吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关。(注:用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时:
  1. 线程数*循环次数>=线程数*吞吐量时,Total Executions模式的执行次数=线程数*吞吐量。
  2. 当线程数*循环次数<线程数*吞吐量时,Total Executions模式的执行次数=当线程数*循环次数。
  • 当不勾选Per User时:
  1. 线程数*循环次数<=吞吐量时,Total Executions模式的执行次数=线程数*循环次数。
  2. 当线程数*循环次数>吞吐量时,Total Executions模式的执行次数=吞吐量。

JMeter之Throughput Controller吞吐量控制器的更多相关文章

  1. Jmeter系列(55)- 详解 Throughput Controller 吞吐量控制器

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 简单介绍 自行调整该控制器下的子项的执 ...

  2. Throughput Controller(吞吐量控制器) 感觉就像个线程控制器来的

    Percent Executions  下的 Throghput 意思是跑总线程的百分之多少. 如 10线程循环一次, Throghput 设置为80,则有8个线程会跑这个请求 Total Execu ...

  3. jmeter之Throughput Controller

    jmeter之Throughput Controller Throughput Controller 这个控制器的命名不准确,因为它不是用来控制吞吐量的.吞吐量控制器允许用户控制执行频率,jmeter ...

  4. JMeter之Throughput Controller详解(实验)

    Throughput Contoller,直译是吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关.(注:用Constant Throughput Timer可以控制吞吐量. ...

  5. Jmeter-Throughput Controller 吞吐量控制器

    比如在压测是时候,我设置了100个线程组,循环2次,那么我想根据吞吐量进行并发请求,这时候可以用到这个吞吐量控制器 PercentExecutions:按执行次数的百分比来计算执行次数,Through ...

  6. 【JMeter_18】JMeter逻辑控制器__吞吐量控制器<Throughput Controller>

    吞吐量控制器<Throughput Controller> 业务逻辑: 他的实际作用似乎跟吞吐量扯不上什么关系.就是单纯的控制控制器下的子节点被执行的次数或被执行比列,该控制器默认为多线程 ...

  7. JMeter分布式负载测试(吞吐量控制器)

    在本节中,我们将学习如何使用吞吐量控制器在JMeter中创建分布式负载测试计划. 出于测试目的,我们将在我们网站 www.yiibai.com 的URL下的某些网页上创建分布式负载.这些网页包括: 主 ...

  8. Jmeter吞吐量控制器

    吞吐量控制器 场景: 假如有两个业务分别是A, B在同一线程组内有10并发, 7个做A业务, 3个做B业务,吞吐量控制器比较推荐使用. 添加吞吐量控制器 ​ 用法1: Percent Executio ...

  9. Jmeter 逻辑控制器 之 吞吐量控制器

    吞吐量控制器 听起来好像比较难理解或者比较高深,其实它非常简单,今天我仔细看了下帮助,分享下对它的理解. 一.认识吞吐量控制器 作用:控制其下子样例执行的频次,有两种控制模式,一种是直接设置数值,一种 ...

随机推荐

  1. 永远的Ace 团队作业4—团队项目需求建模与系统设计(1)

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST/ 这个作业要求链接 https://www.cnblogs.com/nwnu-da ...

  2. NVIDIA TensorRT高性能深度学习推理

    NVIDIA TensorRT高性能深度学习推理 NVIDIA TensorRT 是用于高性能深度学习推理的 SDK.此 SDK 包含深度学习推理优化器和运行时环境,可为深度学习推理应用提供低延迟和高 ...

  3. OSPF-三张表+路由器角色+router-id

    验证理论: 1.剖析OSPF的三张表:邻居表,拓扑表,路由表 dis ospf peer brief dis ospf lsdb dis ip routing-table protocol ospf ...

  4. python_request 使用jsonpath取值结果,进行接口关联

    一.jsonpath的安装 pip   install  jsonpath 二.使用举例 import jsonpath d1={"token":"hjshdsjhdsj ...

  5. Redis系列(一):安装

    本系列介绍Redis,从安装到使用,太简单的使用不介绍了,介绍一些比较有意思的功能,也会介绍一些原理性的东西.本篇先介绍Redis的单实例安装.Redis还可以做到高可用,通过哨兵和集群可以做到高可用 ...

  6. 09:CBV与settings

    CBV源码 # 切入点 url(r'^login/', views.Mylogin.as_view()) '''类名点名字还加括号 名字要么是绑定给类的方法 要么是无参函数''' ​ 1.as_vie ...

  7. kerberos安装配置

    目录 前言 服务端安装 组件安装 配置krb5.conf 配置kdc.conf 配置kadm5.acl 创建kdc数据库 在server端创建一个管理员账号,方便远程登录管理kerberos 正式启动 ...

  8. huge page 能给MySQL 带来性能提升吗?

    最近一直在做性能压测相关的事情,有公众号的读者朋友咨询有赞的数据库服务器有没有开启huge page,我听说过huge page会对性能有所提升,本文就一探究竟.对过程没有兴趣的可以直接看结论. 二 ...

  9. 「模拟8.29」chinese(性质)·physics·chemistry(概率期望)

    T1  chinese 根据他的问题i*f[i]我们容易联想到,答案其实是每种方案中每个点的贡献为1的加和 我们可以转变问题,每个点在所有方案的贡献 进而其实询问就是1-k的取值,有多少中方案再取个和 ...

  10. .Net EF Core千万级数据实践

    .Net 开发中操作数据库EF一直是我的首选,工作和学习也一直在使用.EF一定程度的提高了开发速度,开发人员专注业务,不用编写sql.方便的同时也产生了一直被人诟病的一个问题性能低下. EF Core ...