性能测试稳定性 Constant Throughput Timer(常数吞吐量定时器)

在性能测试过程中总会收到一些需求如:单接口每秒并发20,这种并发持续60秒,通过负载测试查看系统稳定性,今天就让我们来浅谈一下这种场景如何去实现性能测试~

这种场景可以用两种方法去实现:

一、我们通过控制总线程数和Ramp-Up来控制并发,让它的线程慢慢增压,因为只有一个接口,所以执行时是偏快的

我们把线程数设置为20*60=1200,Ramp-Up设置为60,循环次数为1

 这样设置我们来看下聚合报告,也是符合我们的需求,但没有那么准确的确保每秒都并发20,这种概率偏随机

可以发现它的Transactions per Second图中的事务数是这种忽高忽低,所以可以和第二种放发一起选择,选择适合的方法

二、第二种就要用到这篇文章的主角了Constant Throughput Timer(常数吞吐量定

### 配置JMeter常数吞吐量定时器 为了实现精确的负载模拟,在JMeter中可以利用常数吞吐量定时器来设置每分钟发送的具体请求数目。当未配置任何延时机制时,JMeter会尽可能快速地执行采样请求[^1]。 #### 添加常数吞吐量定时器到线程组 通过右键点击所需的线程组并选择`Add -> Timer -> Constant Throughput Timer`可完成该定时器的添加操作。此动作创建了一个新的定时器实例,用于调整同一父级下所有子节点(即HTTP请求或其他取样器)之间的间隔时间。 #### 设置目标吞吐量 在打开的属性面板里,“Target throughput (samples per minute)”字段决定了期望达成的样本数量/分钟比率。值得注意的是,这里的单位是“样品/分钟”,因此对于希望保持较低频率的情况来说可能需要做一些简单的换算工作。 ```plaintext 例如:要使每个线程每秒只发出一次请求,则应在此处输入60。 ``` #### 处理并发度的影响 由于实际运行过程中可能存在多个活动线程同时尝试满足相同的吞吐量指标,所以最终得到的结果未必能完全匹配预设值。特别是在线程数目较少而预期TPS较高的场景下尤为明显。此时可以通过增加虚拟用户的数量或者适当放宽单次迭代间的等待范围来进行补偿调节。 #### 应用场景说明 通常情况下,采用这种方式有助于重现真实的业务流量模式,特别是在评估系统处理能力极限之前先验证其稳定状态下所能承受的工作负荷是非常必要的。此外,也适用于那些对响应时间和资源利用率敏感的应用场合[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值