Skip to main content

config element

CSV Data Set Config

csvDataSetConfig

  • 变量名称
  • 是否忽略第一行
  • 列分隔符
  • 是否允许双引号包裹数据
  • 结束了是否从头开始重新读取
  • 读取到末尾是否结束线程

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 里,让每个线程都完整跑一遍。