You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置JMeter实现N个用户持专属令牌各自执行多类型多轮动作

核心问题根因

配置错误主要集中在2个维度:CSV数据集共享模式不符合多线程分配逻辑,未对登录、动作循环的执行范围做正确限制,才会出现用户漏跑、重复执行的问题。

具体调整方案

1. 基础组件配置修正

用户凭据CSV配置调整

  • 文件名选择你的用户列表CSV文件
  • 变量名称按CSV实际列定义,比如username,password
  • 分隔符和CSV实际分隔符保持一致
  • 共享模式选择「当前线程组」
  • 「在文件结束时再循环」设置为False
  • 「在文件结束时停止线程」设置为True
    该配置可以保证100个线程刚好匹配100个用户,不会出现用户漏读、重复读取的问题。

登录逻辑调整

  • 给登录请求添加仅一次控制器作为父组件,保证每个线程(对应单个用户)只会执行一次登录,不会重复获取令牌
  • JSON Extractor配置:参考值名称填access_token,JSON Path Expression按登录接口实际返回结构调整,比如$.data.token,匹配号填1
  • 后续业务Header Manager中的Authorization字段填Bearer ${access_token}即可,JMeter线程变量为线程隔离,不会出现多用户令牌串用的问题。

2. 动作类执行逻辑配置

每类动作都统一按照以下结构配置即可:

  • 新增循环控制器,循环次数设置为100(匹配单用户单类动作执行100次的要求)
  • 循环控制器下添加对应类别的动作CSV配置,配置要求:
    • 文件名选择对应动作的CSV文件
    • 变量名称按动作CSV的实际列定义
    • 共享模式选择「当前线程」
    • 「在文件结束时再循环」设置为True,如果单类动作CSV的总数据量≥10000(100用户×100次),可以设置为False保证所有动作数据不重复
  • CSV配置下添加对应动作的HTTP请求,直接引用CSV提取的变量即可。

3. 最终测试计划结构参考

- 测试计划
  - 全局Header Manager
  - HTTP请求默认值
  - 用户凭据CSV配置(按上述要求配置)
  - 线程组(线程数100,循环次数设为1,Ramp-Up时间按需调整)
    - 仅一次控制器
      - 登录请求
        - JSON Extractor(提取令牌存为${access_token}变量)
    - 业务Header Manager(配置Authorization: Bearer ${access_token})
    - 第一类动作循环控制器(循环次数100)
      - 第一类动作CSV配置
      - 第一类动作HTTP请求
    - 第二类动作循环控制器(循环次数100)
      - 第二类动作CSV配置
      - 第二类动作HTTP请求
    - 剩余动作类别均按上述结构依次添加

调试建议

正式压测前可以先将线程数改为2、单类动作循环次数改为2,执行后查看结果树中的用户参数、令牌、动作入参是否符合预期,确认逻辑正确后再恢复正式配置执行。

内容的提问来源于stack exchange,提问作者Nunes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 23:45:04