推荐适配的JMeter线程组及参数:每秒20请求共1200次(不受响应时间影响)
解决方案:精确控制每秒请求数与总请求量
要实现1分钟内每秒固定发送20次请求、累计1200次的需求,普通Thread Group无法满足——它的请求次数完全依赖接口响应时间,响应快则请求量超标,响应慢则无法达标。推荐以下两种配置方案:
方案一:Constant Throughput Timer + 普通Thread Group
此方案为JMeter原生支持,无需额外插件:
1. 普通Thread Group参数配置
Threads (Number of Threads):设置为50(确保线程数足够支撑每秒20次请求,避免因线程不足导致吞吐量无法达标)Ramp-Up Period (seconds):0(立即启动所有线程)Loop Count:1200(固定总请求数,完成后自动停止测试)- 不勾选
Duration (seconds),总请求数由Loop Count控制
2. Constant Throughput Timer配置
在Thread Group下添加该定时器,参数设置:
Target throughput (in samples per minute):1200(对应每秒20次请求)Calculate throughput based on:选择All active threads in current thread group(确保仅针对当前线程组计算吞吐量)
该定时器会强制控制每秒发送的请求数,不受接口响应快慢、请求成败影响;同时Loop Count确保总请求数固定为1200次。
方案二:Schedule Thread Group(需安装JMeter插件)
若需要更灵活的调度控制,可使用Custom Thread Groups插件中的Schedule Thread Group:
参数配置
- 在
Schedule区域添加一行配置:Start Threads Count:20Initial Delay:0Ramp-Up:0Hold Load For:60ShutDown Time:0
- 勾选
Limit Total Requests,并设置值为1200(达到总请求数后立即停止测试)
该线程组会按设定启动线程,通过总请求数限制确保不会超出1200次,同时配合固定线程数维持每秒20次的请求量。
关键注意事项
- 线程数需大于等于每秒请求数(如20),避免因线程全部处于等待响应状态,导致定时器无法触发足够的请求。
- 可添加Summary Report实时验证每秒请求数和总请求数是否符合预期。
内容的提问来源于stack exchange,提问作者Jyothish
相关产品推荐
相关产品推荐

