JMeter正常可使用线程组只有普通线程组,需要其他类型,需要安装JMeter Plugins Manager插件。安装安装步骤如下:
1.官网下载安装包
官网地址:https://jmeter-plugins.org/install/Install/
2.把下载的安装包放置JMeter安装目录的\lib\ext目录下
3.重启JMeter,点击选项-Plugins Manager-Available Plugins标签,输入jpgc+空格搜索,选择jpgc-Standard Set后,点击Apply Changes and Restart JMeter,即可完成插件安装。
重新启动成功,安装成功
JMeter 中的 线程组(Thread Group) 是性能测试的核心组件,用于模拟并发用户行为。不同类型的线程组适用于不同的测试场景。
1. 普通线程组(Thread Group)
- 功能
最基础的线程组,控制固定数量的并发用户,适用于常规压力测试。 - 关键参数:
- 线程数(Number of Threads):模拟的并发用户数(如 100)。
- Ramp-up Period(秒):逐步启动所有线程的时间(如 10 秒表示每秒启动 10 个线程)。
- 循环次数(Loop Count):每个线程执行的测试计划次数(勾选“无限”可持续运行)。
- 场景示例:
- 测试 API 在 100 并发用户下的响应时间。
- 验证系统在 30 秒内逐步增加负载时的稳定性。
2. 阶梯线程组(Stepping Thread Group)
- 功能
通过 阶梯式增加并发用户,观察系统在负载逐步上升时的表现(需安装插件 Custom Thread Groups)。 - 关键参数:
- 初始线程数:起始并发用户数(如 10)。
- 每步增加线程数:每次阶梯增加的线程数(如 10)。
- 每步持续时间:每个阶梯的稳定运行时间(如 60 秒)。
- 场景示例:
- 测试系统从 10 用户逐步增加到 100 用户时的性能拐点。
- 生成类似以下阶梯负载模式:
10用户 →(60秒)→ 20用户 →(60秒)→ ... → 100用户
3. 终极线程组(Ultimate Thread Group)
- 功能
支持 自定义复杂负载模型,可定义多个阶段的并发用户变化(需插件支持)。 - 关键参数:
- Start Threads Count:初始线程数。
- Initial Delay(秒):延迟启动时间。
- Hold Load For(秒):保持负载的持续时间。
- Threads Schedule:通过表格配置多阶段负载(如先爬升后保持再下降)。
- 场景示例:
- 模拟“高峰-平稳-低谷”场景:
4. 并发线程组(Concurrency Thread Group)
- 功能
以 目标并发数 为核心,动态调整线程数以达到设定的并发量(需插件 Custom Thread Groups)。 - 关键参数:
- Target Concurrency:目标并发用户数(如 50)。
- Ramp-up Time:达到目标并发的时间(如 120 秒)。
- Hold Target Rate Time:保持目标并发的时间(如 300 秒)。
- 场景示例:
- 需要精确控制并发数(而非线程数)的场景。
- 模拟长时间稳定并发压力(如持续 5 分钟 50 并发)。
5. 调度器线程组(Scheduler Thread Group)
- 功能
通过 时间调度 控制测试的启动、持续时间和结束时间。 - 关键参数:
- Duration(秒):测试总持续时间(如 3600 秒 = 1 小时)。
- Startup Delay(秒):延迟启动时间(如 60 秒)。
- 场景示例:
- 长时间稳定性测试(如持续运行 24 小时)。
- 长时间稳定性测试(如持续运行 24 小时)。
6. 不同线程组对比表
线程组类型 | 核心特点 | 适用场景 | 是否需要插件 |
普通线程组 | 固定并发用户数 | 基础压力测试、功能验证 | 否 |
阶梯线程组 | 阶梯式增加并发用户 | 寻找系统性能拐点 | 是(Custom Thread Groups) |
终极线程组 | 自定义多阶段复杂负载 | 模拟真实业务波动(如秒杀活动) | 是 |
并发线程组 | 以并发数为目标动态调整线程 | 精确控制并发压力 | 是 |
调度器线程组 | 按时间计划执行测试 | 定时测试、长时间稳定性测试 | 否 |
7. 选择线程组的建议
- 基础测试:普通线程组足够满足需求。
- 复杂场景:使用阶梯或终极线程组模拟真实用户增长。
- 精准控制:并发线程组适合需要稳定并发数的场景。
- 自动化测试:调度器线程组配合 CI/CD 定时执行。
通过合理选择线程组类型,可以更精准地模拟真实用户行为,有效识别系统性能瓶颈。建议结合监听器(如 Active Threads Over Time 插件)实时监控线程变化。