JMeter:多线程循环从CSV文件读取唯一数据的配置方法
JMeter CSV数据唯一行分配配置方案
我有一个包含100条数据的CSV数据配置文件,创建包含5个用户的Thread Group时,希望每个线程循环20次,并从CSV Data config中选取唯一的一行数据。

预期执行示例
循环次数 = 1
- Thread 1 - 循环1 - 数据1
- Thread 2 - 循环1 - 数据2
- Thread 3 - 循环1 - 数据3
- Thread 4 - 循环1 - 数据4
- Thread 5 - 循环1 - 数据5
循环次数 = 2
- Thread 1 - 循环2 - 数据6
- Thread 2 - 循环2 - 数据7
- Thread 3 - 循环2 - 数据8
- Thread 4 - 循环2 - 数据9
- Thread 5 - 循环2 - 数据10
循环次数 = 3
- Thread 1 - 循环3 - 数据11
- Thread 2 - 循环3 - 数据12
- Thread 3 - 循环3 - 数据13
- Thread 4 - 循环3 - 数据14
- Thread 5 - 循环3 - 数据15
(注:原示例循环3重复数据应为笔误,按100条数据+5线程20循环的配置,每行数据会被唯一读取)
配置步骤
1. CSV Data Set Config 设置
- Sharing Mode:选择
All threads,让所有线程共享CSV读取指针 - Allow data reuse:取消勾选,确保每行数据仅被读取一次
- Recycle on EOF:设为
False,读取到文件末尾后不再循环 - Stop thread on EOF:设为
False(若需读完数据后继续循环重复,可改为True终止线程)
2. Thread Group 设置
- 线程数:设置为5
- 循环次数:设置为20
原理说明
将Sharing Mode设为All threads后,JMeter会维护一个全局的CSV读取指针,每个线程每次请求数据时,指针自动后移一行。结合5线程20次循环,刚好覆盖100条数据,实现每行数据被唯一分配到某次线程循环中。
内容的提问来源于stack exchange,提问作者Rahul
相关产品推荐
相关产品推荐

