如何在JMeter中用含20个用户的CSV文件实现2000用户1小时压测
JMeter循环复用CSV用户数据实现2000用户压测方案
1. 配置CSV数据读取组件
添加CSV Data Set Config,关键参数设置如下:
- Filename:填入你的CSV文件路径(例如
./user_credentials.csv) - Variable Names:定义CSV列对应的变量,比如
username,password - Recycle on EOF?:选
True——读取到文件末尾时自动从头循环数据 - Stop thread on EOF?:选
False——不要因文件结束终止线程 - Sharing Mode:根据场景选择:
All threads:所有线程共享一个读取指针,适合多线程轮流使用不同用户数据Current thread group:当前线程组内的线程共享指针Current thread:每个线程独立维护读取指针,每个线程都会完整循环20个用户数据
2. 控制压测规模与时长
要同时满足2000次用户请求和1小时压测时长,可通过以下两种方式配置:
方式一:线程组循环+调度器兜底
- 线程组Number of Threads (users):设置并发数(比如50,根据服务器实际负载调整)
- Loop Count:设为
40(50并发 × 40次循环 = 2000次请求) - 勾选Scheduler,设置**Duration (seconds)**为
3600(1小时)- 注:如果2000次请求提前完成,线程会自动停止;若1小时到了还未完成2000次请求,压测也会终止,可根据实际情况调整并发数和循环次数
方式二:吞吐量控制器匀速控制
- 线程组设置合适并发数(比如20),Loop Count设为
Forever - 添加Constant Throughput Timer,设置**Target throughput (in samples per minute)**为
33.3(2000次/60分钟≈33.3次/分钟),确保1小时内匀速完成2000次请求 - 同样勾选线程组Scheduler,设置Duration为3600秒作为兜底
3. 验证复用逻辑
添加Debug Sampler和View Results Tree,运行短时间测试,查看username、password等变量值是否在20个用户数据中循环出现,确认复用逻辑生效
内容的提问来源于stack exchange,提问作者Neha Bansal
相关产品推荐
相关产品推荐

