如何使用JMeter按指定时间间隔配置多请求吞吐量控制
JMeter配置方案(适配你的小时级请求调度需求)
需求拆解
你需要3小时内按固定时间点执行18次请求(每小时6次):
- 整点(xx:00):1个5k请求,共3次
- xx:20:先1个2k请求,30秒后1个5k请求,各3次
- xx:40:1个2k请求,共3次
以下是基于Precise Throughput Timer的具体配置步骤:
步骤1:创建请求元件
先添加4个OS Process Sampler,分别配置对应请求:
5K请求(整点):配置xx:00要执行的5k控制台请求2K请求(20分):配置xx:20第一个执行的2k请求5K请求(20分延迟):配置xx:20延迟30秒后执行的5k请求2K请求(40分):配置xx:40要执行的2k请求
注意:所有OS Process Sampler都要勾选Wait for process to finish,确保JMeter等待控制台进程完成后再推进流程。
步骤2:配置Precise Throughput Timer
添加Precise Throughput Timer(路径:右键测试计划 → Add → Timers → Precise Throughput Timer),按以下参数设置:
- Target throughput:18(3小时×6次/小时的总请求量)
- Calculate throughput based on:
Total test duration
点击Add按钮,添加4条调度规则(对应四个请求的执行时间点):
| 规则序号 | Start Time | End Time | Throughput | Apply to | 说明 |
|---|---|---|---|---|---|
| 1 | 00:00:00 | 00:00:01 | 3 | 5K请求(整点) | 测试开始后0分钟执行,共3次(对应3个整点) |
| 2 | 00:20:00 | 00:20:01 | 3 | 2K请求(20分) | 测试开始后20分钟执行,共3次 |
| 3 | 00:20:30 | 00:20:31 | 3 | 5K请求(20分延迟) | 测试开始后20分30秒执行,与前一个请求自然间隔30秒,共3次 |
| 4 | 00:40:00 | 00:40:01 | 3 | 2K请求(40分) | 测试开始后40分钟执行,共3次 |
时间偏移说明
如果测试不是从整点启动(比如10:15开始),对应xx:00的请求需要设置为00:45:00(10:15到11:00的间隔),以此类推调整所有规则的Start Time即可。
步骤3:可选:绑定真实系统时间执行
如果需要严格对齐真实时间(比如必须在14:00、14:20等时间点执行),搭配Scheduled Thread Group:
- 添加
Scheduled Thread Group,设置:- Start Time:指定下一个整点(比如
2024-05-20 14:00:00) - Duration:180(3小时,单位分钟)
- Number of Threads:1(单线程足够,避免并发干扰调度)
- Start Time:指定下一个整点(比如
把所有请求和Precise Throughput Timer放到这个线程组下即可。
内容的提问来源于stack exchange,提问作者Randy mangal
相关产品推荐
相关产品推荐

