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

能否用JMeter实现仅一次登录+100并发用户的模拟?

实现方案:单次登录+复用会话发起100次并发调用

完全可以用JMeter实现这个需求,核心是让所有并发请求复用同一份登录后的会话凭证,同时确保活跃会话数不超过应用限制的5个(用单一会话自然满足要求)。具体操作如下:

1. 配置单次登录线程组

  • 添加setUp Thread Group(该线程组会在所有测试线程启动前仅执行一次,专门完成登录操作)
  • 在该线程组下添加对应登录请求(POST/GET方法,匹配实际API)
  • 添加HTTP Cookie管理器:自动保存登录后返回的会话Cookie,后续线程可直接共享使用
  • 如果API采用Token认证(如JWT):
    • 添加JSON Extractor提取响应中的Token字段(示例表达式:$.token)
    • 用__setProperty(token, ${token})函数将Token保存为全局属性,供所有线程调用

2. 配置并发请求线程组

  • 添加普通Thread Group,设置线程数=100、循环次数=1,即可发起100次并发请求
  • 在该线程组下添加目标REST API请求:
    • Cookie认证场景:直接添加HTTP请求,Cookie管理器会自动带上共享的会话Cookie
    • Token认证场景:在请求头中添加Authorization: Bearer ${__P(token,)},引用全局保存的Token
  • 可选:添加Response Assertion验证请求是否成功,确保会话复用有效

3. 多会话分摊请求(可选)

如果担心单一会话的并发请求被应用限制,可改用5个活跃会话承载100次请求:

  • 将普通线程组的线程数设为5,循环次数设为20(5*20=100)
  • 或使用Throughput Controller控制总请求数为100,让5个线程分摊执行

注意事项

  • 确认应用允许同一会话发起并发请求:部分应用会限制单会话的并发连接数,若遇报错可适当降低并发数或改用不超过5个的多会话
  • 检查会话有效期:若测试周期较长,可在setUp Thread Group中添加定期刷新会话的逻辑(如调用心跳接口)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:05:31