Jmeter之Concurrency Thread Group

Concurrency Thread Group 是 JMeter 的一个第三方插件(通过 bzm - Concurrency Thread Group 实现),专为更精确控制并发用户数(同时活跃用户)而设计。相较于标准的 Thread Group,它更擅长模拟压力测试中动态调整并发量的场景(如步进式加压、峰值保持)。以下是核心用法详解:


核心概念

  • 目标并发数(Target Concurrency):同时活跃的用户数(非总线程数)。
  • 智能线程管理:自动增减线程数量以维持目标并发(考虑请求响应时间)。若响应变慢,JMeter 会启动更多线程补偿。

安装插件

  1. 通过 JMeter Plugins Manager 安装:
    • 下载 。
    • 在 JMeter 中点击:Options > Plugins Manager > 搜索 Concurrency Thread Group 并安装。

配置参数详解

参数 说明
Target Concurrency 目标并发用户数(如 100)。
Ramp Up Time 从 0 达到目标并发所需时间(单位:分钟/秒)。
Ramp-Up Steps Count 分多少步达到目标(阶梯式递增)。
Hold Target Rate Time 保持目标并发的时间(稳定压力阶段)。
Thread Iterations Limit 线程最大执行次数(留空则为无限)。
Time Unit 时间单位(Min / Sec)。
Log Thread Status 记录线程启停日志(调试用)。

经典场景配置示例

场景:模拟阶梯加压到峰值并保持

  1. 目标:10分钟内逐步加压到 200 并发,保持 30 分钟。
  2. 配置
    • Target Concurrency: 200
    • Ramp Up Time: 10 分钟
    • Ramp-Up Steps Count: 10 (每1分钟增加 20 用户)
    • Hold Target Rate Time: 30 分钟
    • Thread Iterations Limit: 留空(持续运行)
    • Time Unit: Min

场景:秒级精确控制

  • 30秒内增至 50 并发,保持 2 分钟:
    Target Concurrency: 50
    Ramp Up Time: 30 (单位选 Sec)
    Hold Target Rate Time: 120 (Sec)
    

高级选项

  • Max Threads (Safety): 限制最大线程数(防止因响应慢无限创建线程)。
  • Auto Stop: 当错误率/响应时间超过阈值时自动停止测试。
  • Ramp-Down: 通过追加 hold 后配置 "Then Ramp Down to 0" 支持平缓退出。

使用流程

  1. 添加组件:右键 Test Plan → AddThreads (Users)bzm - Concurrency Thread Group.
  2. 配置参数:按需求填写并发目标、时间等。
  3. 添加 Sampler:在线程组下添加 HTTP Request 等采样器。
  4. 添加监听器:推荐使用:
    • Active Threads Over Time:实时监控并发数
    • Response Times Over Time:响应时间趋势
    • Aggregate Report:汇总统计

注意事项

  1. 线程数 ≠ 并发数:线程数会动态变化(响应慢时线程增多)。
  2. 阶梯控制Ramp-Up Steps Count 值越大,加压越平滑。
  3. Throughput Shaping Timer 联动:可创建更复杂的并发模型。
  4. 资源监控:搭配 PerfMon Metrics Collector 监控服务器资源。

💡 最佳实践:先用小规模并发验证脚本逻辑,再逐步增加压力。结合 Stepping Thread Group 进行初期探索性测试。


通过 Concurrency Thread Group,您可以精准模拟真实场景中的并发波动,适用于稳定性测试、压力峰值测试等关键场景。

posted @ 2025-08-21 09:23  玛卡巴卡糖  阅读(22)  评论(0)    收藏  举报