【P13】JMeter 常数吞吐量定时器(Constant Throughput Timer)


一、常数吞吐量定时器(Constant Throughput Timer)参数说明

可以让线程以一个目标吞吐量去运行

右键 >>> 添加 >>> 定时器 >>> 常数吞吐量定时器(Constant Throughput Timer)

在这里插入图片描述

(1)、目标吞吐量(每分钟的样本量)(Target throughput (in samples per minute)):每分钟的吞吐量

(2)、基于计算吞吐量(Calculate Throughput based on):

  • 只有此线程(this thread only):控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput 乘以该线程的数量

  • 所有活动线程(all active threads):设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程

  • 当前线程组中的所有活动线程(all active threads in current thread group):设置的target Throughput 将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和all active threads 选项的效果完全相同

  • 所有活动线程(共享)(all avtive threads (shared)):与all active threads的选项基本相同。唯一区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行

  • 当前线程组中的所有活动线程(共享)(all active threads in current thread group (shared)):与all active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行

二、测试计划设计

1、基于计算吞吐量:只有此线程

(1)、测试计划右键 <<< 添加 <<< 定时器 <<< 常数吞吐量定时器(Constant Throughput Timer)

在这里插入图片描述

  • 目标吞吐量(每分钟的样本量):120.0

目标吞吐量为120.0,相当于一秒两个,大概就是 TPS 为 2

(2)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组,设置线程数为5,永久循环,勾选调度器,持续300秒

在这里插入图片描述

  • 线程数:5

  • 勾选永远

  • 勾选调度器

  • 持续时间(秒):300

这里每秒执行五个线程数,定时器中 TPS 为 2,乘以每秒五个线程数,此时 TPS 为 10

(3)、线程组右键 <<< 添加 <<< 取样器 <<< 调试取样器(Debug Sampler)

在这里插入图片描述

(4)、线程组右键 <<< 添加 <<< 监听器 <<< 查看结果树

(5)、线程组右键 <<< 添加 <<< 监听器 <<< 汇总报告

(6)、点击启动,点开查看结果树,观察Text下的取样器

在这里插入图片描述

可以点击调试取样器,查看取样器结果中的时间,可以发,每一秒,有十个调试取样器

(7)、点开汇总报告查看

在这里插入图片描述

线程组中设置执行360s,如图,样本为3598,大致就是每秒10个,所以吞吐量 TPS 大概为 10

只有此线程:目标吞吐量 * 线程数

2、基于计算吞吐量:所有活动线程

(1)、修改常数吞吐量定时器,基于计算吞吐量选择所有活动线程,清除全部,并启动

在这里插入图片描述

(2)、点开查看结果树,观察Text下的取样器

在这里插入图片描述

可以点击调试取样器,查看取样器结果中的时间,可以发送,每一秒,有两个调试取样器

(3)、点开汇总报告查看

在这里插入图片描述

线程组中设置执行360s,如图,样本为724,大致就是每秒2个,所以吞吐量 TPS 大概为 2

所有活动线程:目标吞吐量

3、基于计算吞吐量:当前线程组中的所有活动线程

(1)、修改常数吞吐量定时器,基于计算吞吐量选择当前线程组中的所有活动线程

在这里插入图片描述

(2)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组,设置线程数为5,永久循环,勾选调度器,持续300秒

在这里插入图片描述

  • 线程数:5

  • 勾选永远

  • 勾选调度器

  • 持续时间(秒):300

(3)、新增的线程组右键 <<< 添加 <<< 取样器 <<< 调试取样器(Debug Sampler)

(4)、新增的线程组右键 <<< 添加 <<< 监听器 <<< 汇总报告

(5)、清除全部,点击启动,查看第一个线程组的汇总报告

在这里插入图片描述

线程组中设置执行360s,如图,样本为724,大致就是每秒2个,所以吞吐量 TPS 大概为 2

(6)、查看第二个线程组的汇总报告

在这里插入图片描述

线程组中设置执行360s,如图,样本为724,大致就是每秒2个,所以吞吐量 TPS 大概为 2

当前线程组中的所有活动线程:目标吞吐量

4、基于计算吞吐量:所有活动线程(共享)

(1)、修改常数吞吐量定时器,基于计算吞吐量选择所有活动线程(共享)

在这里插入图片描述

(2)、点击清除全部,点击启动,查看第一个线程组下的汇总报告

在这里插入图片描述

如图,样本为360, TPS 大概为 1

(3)、查看第二个线程组下的汇总报告

在这里插入图片描述

如图,样本为360, TPS 大概为 1;一共有两个活动线程,共享模式下,分配给每个线程组各一个

所有活动线程(共享):目标吞吐量 / 所有活动线程

5、基于计算吞吐量:当前线程组中的所有活动线程(共享)

(1)、修改常数吞吐量定时器,基于计算吞吐量选择当前线程组中的所有活动线程(共享)

在这里插入图片描述

(2)、点击清除全部,点击启动,查看第一个线程组下的汇总报告

在这里插入图片描述

如图,样本为720, TPS 大概为 2

(3)、查看第二个线程组下的汇总报告

在这里插入图片描述

如图,样本为721, TPS 大概为 2

当前线程组中的所有活动线程(共享):目标吞吐量 / 单线程组下所有活动线程

### 如何在 JMeter 中使用常数吞吐量定时器进行性能测试 #### 配置方法 为了使 JMeter 测试计划中的线程按照设定的吞吐量执行,需向测试计划中添加 **常数吞吐量定时器**。此定时器允许指定每分钟应完成的目标请求数或事务数量[^1]。 创建并配置该定时器的具体操作如下: - 在目标线程组内右键点击,选择 `Add` -> `Timer` -> `Constant Throughput Timer` 来插入一个新的常数吞吐量定时器实例。 - 接下来,在打开的属性面板里输入期望达到的吞吐量数值(单位为每分钟)。例如,如果希望保持 60 TPS 的速度,则应该填入 “60 * 60 = 3600”,因为这里的度量标准是以“次/分”为基础而非传统的“次/秒”。 - 可选地调整其他参数选项来适应具体的测试需求,比如可以选择应用范围——仅限于当前线程、整个线程组或是全部活动线程;还可以决定是否考虑上一次迭代的实际耗时作为计算基础等[^2]。 ```xml <elementProp name="throughput" elementType="Argument"> <attribute name="name">targetThroughput</attribute> <attribute name="value">3600.0</attribute> <!-- 表示每分钟处理次数 --> </elementProp> ``` #### 应用场景 当需要精确控制并发用户的交互频率或者想要模仿真实的业务高峰期流量模式时,利用常数吞吐量定时器可以帮助实现更贴近实际环境下的服务器响应情况评估。这有助于识别系统瓶颈所在之处,并验证其能否承受预期的工作负荷水平[^3]。 此外,对于那些对稳定性和可靠性有较高要求的应用程序来说,通过这种方式来进行长时间的压力测试是非常必要的。它能有效检测出潜在的问题点,如资源争用现象、内存泄漏风险等因素,进而采取相应措施加以优化改进[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹿快跑~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值