【jmeter系列】详解 Throughput Controller 吞吐量控制器14

一、描述:吞吐量控制器(Throughput Controller)用来控制其下元件的执行次数,并无控制吞吐量的功能。
作用:控制其下的子节点的执行次数与负载比例分配

线程组-添加-逻辑控制器-吞吐量控制器

1、有了两个模式

  • percent execution:按照百分比来执行                   #0-100,代表执行次数的百分比,比如填 50,代表一半迭代中执行
  • total executions:按照次数来执行                         #代表执行的总次数

2、Per User

  • 若勾选,每个线程会单独计算执行频率
  • 若不勾选(默认),所有线程统一计算执行频率

二、案例分析

1、Total Executions 的例子

线程组结构树

 线程组属性

吞吐量控制器,设置执行次数为2

 查看结果树

 取样器01只执行了 2 次

2、Percent Executions 的例子

线程组结构树

线程组属性

 2 个线程,每个线程循环 3次

吞吐量控制器

 循环只执行 50%

查看结果树

  • 取样器02执行了 6 次
  • 取样器01只执行了 3次 

3、勾选 per user 的例子

线程组结构树

线程组属性

 2 个线程,每个线程循环 3 次

吞吐量控制器,设置为2

 查看结果树

  • 取样2执行了 6 次,每个线程执行了 3 次
  • 取样器1只执行了 4 次,每个线程执行了 2 次
  • 控制器对每个线程单独生效

4、如果不勾选 Per User,结果树会怎么样呢

  • 取样器02执行了 6 次,每个线程执行了 3 次
  • 取样器01总共只执行了 2 次,因为线程 1 先执行,所以只有线程 1 能执行取样器01,而线程 2 不能执行
  • 吞吐量控制器所有线程共享

### JMeter吞吐量控制器的使用方法 #### 定义与作用 吞吐量控制器用于控制采样器或其他子元件的执行频率。这有助于模拟更真实的负载条件,特别是在测试服务器性能时。通过设定目标吞吐量(单位为每分钟样本数),可以精确调整流量大小[^5]。 #### 参数说明 - **Target Throughput (in samples per minute)**:此参数定义了期望达到的目标吞吐率,即每分钟内要发送多少个请求。需要注意的是实际吞吐量可能会因为其他因素而有所不同。 - **Calculate throughput based on**: 可选值有“this controller only” 和 “all active threads”。前者仅考虑当前控制器下的元素;后者则综合计算整个线程组内的所有活动线程。 #### 实际操作指南 为了更好地理解如何应用该组件,在下面提供了一个简单的实例: 假设有一个HTTP请求需要按照固定的速率发出,则可以在测试计划中加入如下结构: ```plaintext Thread Group └── Constant Timer (可选, 用来增加延迟) └── Throughput Controller └── HTTP Request Sampler ``` 对于上述场景的具体配置步骤如下所示: 1. 创建一个新的 `Throughput Controller` 并命名为 "Fixed Rate Requests". 2. 设置 `Target Throughput` 的数值为你想要保持的固定速率,比如60次/分钟意味着每隔一秒发一次请求. 3. 如果选择了基于单个控制器(`this controller only`)的方式,请确保在同一级别下没有其他的取样器干扰统计; 若选择全局模式(`all active threads`), 则需注意多线程间的相互影响. 此外,还可以利用图形化界面实时监控执行状态以及查看详细的日志记录以便于后续分析和调试[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值