JMeter分批发送请求:每100次请求后延迟5秒的配置需求
JMeter配置:每100次POST请求后延迟5秒的批量请求方案
一、线程组基础设置
根据你要发送的请求总量,线程组配置如下:
- 2000次请求:设置
Number of Threads(users)为5,循环次数设为400(5线程×400循环=2000次请求) - 5000次请求:同样5线程,循环次数设为1000(5×1000=5000)
- 10000次请求:5线程,循环次数设为2000(5×2000=10000)
二、实现每100次请求后集体延迟5秒
要实现“5线程累计完成100次请求后统一延迟5秒”,需要组合以下组件:
1. 全局请求计数器
用来追踪所有线程的累计请求数:
- 右键线程组 → 添加 → 配置元件 → 计数器
- 关键配置:
- 引用名称:
total_requests - 起始值:1,递增:1
- 最大值:对应总请求数(2000/5000/10000)
- 取消勾选“每个用户独立的计数器?”(确保是全局累计)
- 引用名称:
2. 同步定时器
保证5个线程在每100次请求的节点处同步,避免部分线程提前继续:
- 右键线程组 → 添加 → 定时器 → 同步定时器
- 配置:
- 模拟用户组的数量:5(和线程数一致)
- 超时时间:0(无限等待,直到所有线程到达)
3. 条件触发延迟
只有当累计请求数是100的倍数时,才触发5秒延迟:
- 右键线程组 → 添加 → 逻辑控制器 → If 控制器
- 条件表达式:
${__jexl3(${total_requests} % 100 == 0,)} - 在If控制器下添加固定定时器:
- 线程延迟(毫秒):5000(即5秒)
三、关键注意点
- POST请求要放在线程组下,且位于计数器之后,确保每次请求完成后计数器正确递增
- 同步定时器必须配置,否则会出现部分线程已开始下一批请求,而其他线程还在延迟的情况
- 计数器最大值要和总请求量匹配,防止计数器无意义循环
内容的提问来源于stack exchange,提问作者ApprenticeOfCode90
相关产品推荐
相关产品推荐

