2,Jmeter 定时器之Synchronizing Timer(同步定时器)

本文介绍了性能测试中的并发概念,并重点讲解了JMeter中的Synchronizing Timer如何实现模拟并发。通过设置模拟用户的数量和超时时间,该定时器能帮助测试者更真实地模拟并发场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

性能测试中有一个概念就是“并发”,其实在实际真是的性能测试汇总不存在真正的并发的,为了更真实的模拟一个并发测试,我们通常设置一个集合点,Jmeter中提供了一个Synchronizing Timer来实现。

1,添加Synchronizing Timer 方式如下图


2,Synchronizing Timer 两个参数设置

(1)Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量

### JMeter定时器的配置与使用方法 JMeter提供了多种类型的定时器,每种定时器都有其特定的功能和配置方式。以下是对几种常见定时器的详细说明及配置方法: #### 1. 固定定时器(Constant Timer) 固定定时器用于在每个采样器执行前添加固定的延迟时间。通过设置`Thread Delay`参数来定义延迟的时间长度(单位为毫秒)。 ```xml <elementProp name="ConstantTimer.delay" elementType="Argument"> <attribute name="value">1000</attribute> <!-- 设置延迟时间为1000毫秒 --> </elementProp> ``` 此配置表示每个采样器在执行前会等待1秒[^1]。 #### 2. 随机定时器(Gaussian Random Timer 和 Uniform Random Timer) 随机定时器允许在固定延迟的基础上增加随机性。例如,均匀随机定时器(Uniform Random Timer)可以通过设置偏移量来生成一个范围内的随机延迟。 ```xml <elementProp name="UniformRandomTimer.range" elementType="Argument"> <attribute name="value">500</attribute> <!-- 偏移量为500毫秒 --> </elementProp> <elementProp name="UniformRandomTimer.offset" elementType="Argument"> <attribute name="value">1000</attribute> <!-- 基础延迟为1000毫秒 --> </elementProp> ``` 上述配置表示延迟时间将在1000毫秒到1500毫秒之间随机变化[^1]。 #### 3. 同步定时器Synchronizing Timer同步定时器用于模拟大量用户同时访问某个资源的情况。它通过将线程分组并让它们等待直到达到指定数量后才一起释放。 - **Number of Simulated Users to Group by**:需要同步的线程数。 - **Timeout in milliseconds**:超时时间(默认为0,表示无限等待)。 ```xml <elementProp name="SynchronizingTimer.delay" elementType="Argument"> <attribute name="value">0</attribute> <!-- 超时时间为0 --> </elementProp> <elementProp name="SynchronizingTimer.numberToGroup" elementType="Argument"> <attribute name="value">10</attribute> <!-- 同步10个线程 --> </elementProp> ``` 如果超时时间设置为大于0的值,则当达到指定的线程数或超时时间到达时,定时器会释放线程[^2]。 #### 4. 常数吞吐量定时器(Constant Throughput Timer) 常数吞吐量定时器用于控制测试期间的吞吐量(以每分钟的样本数为单位)。通过调整目标吞吐量值,可以限制JMeter发送请求的频率。 ```xml <elementProp name="ConstantThroughputTimer.targetThroughput" elementType="Argument"> <attribute name="value">300</attribute> <!-- 每分钟300个请求 --> </elementProp> ``` 注意,实际吞吐量可能会因线程数和其他因素而略有波动[^3]。 #### 5. 测试动作定时器(Test Action Timer测试动作定时器允许在采样器执行前后暂停一段时间。通过设置`Action`、`Target`和`Duration`参数来定义具体的行为。 ```xml <elementProp name="Action" elementType="Argument"> <attribute name="value">PAUSE</attribute> <!-- 执行暂停操作 --> </elementProp> <elementProp name="Duration" elementType="Argument"> <attribute name="value">2000</attribute> <!-- 暂停2000毫秒 --> </elementProp> ``` ### 注意事项 - 定时器的作用域是在每个采样器之前执行,无论定时器的位置是在采样器之前还是之后[^1]。 - 如果希望定时器仅应用于某个特定的采样器,可以将定时器作为该采样器的子节点添加。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值