config element
CSV Data Set Config

- 变量名称
- 是否忽略第一行
- 列分隔符
- 是否允许双引号包裹数据
- 结束了是否从头开始重新读取
- 读取到末尾是否结束线程
JMeter 的 CSV Data Set Config 中,Sharing mode(共享模式)决定了
CSV 文件里的数据如何在不同的线程(Thread)和线程组(Thread Group)之间分配。
简单来说,它控制的是:“这个文件句柄是大家共用的,还是每人拿一份独立的?”
Sharing Mode 的三种模式
| 模式 | 核心逻辑 | 适用场景 |
|---|---|---|
| All threads | 全局共享。所有线程组、所有线程共用同一个文件读取指针。 | 模拟唯一账号登录,确保数据不重复。 |
| Current thread group | 线程组内共享。每个线程组拥有独立的文件指针 | 不同业务模块(线程组)使用同一套数据,互不干扰 |
| Current thread | 线程私有。每个线程从头开始读取文件。 | 每个用户都需要跑全量的数据流程。 |
详细图解与案例
1. All threads (默认设置)
JMeter 会打开文件一次,所有线程按顺序往下读。如果线程 A 取走了第一行,线程 B 就会取第二行。
- 例子: 有 1000 个测试账号存放在 CSV 中,测 1000 次登录。使用此模式可以确保这 1000 个账号每个只被使用一次,不会产生冲突。
2. Current thread group
在一个测试计划里有“注册”和“登录”两个线程组,且都引用了同一个 CSV 配置文件:
- 线程组 A 会从第一行开始读。
- 线程组 B 也会从第一行开始读,它们互不影响。
- 例子: 想让“下单业务”和“查询业务”都使用同一批商品 ID 进行测试,但希望两个业务逻辑独立计数。
3. Current thread
这种模式下,每个线程(并发用户)都会独立打开文件。线程 1 从第一行读到最后一行,线程 2 也从第一行读到最后一行。
- 例子: 你有 10 个用户,每个用户都需要依次执行 50 条不同的指令。你可以把 50 条指令写在 CSV 里,让每个线程都完整跑一遍。