目录
一. 基础负载测试场景:固定并发用户数
1、线程组配置
2、HTTP请求配置
3、添加定时器
4、添加监听器
4.1 聚合报告
4.2 响应时间图
4.3 查看结果树
5、结果分析指标
二. 阶梯式加压场景(逐步增加并发)
1、插件安装
2、阶梯配置
3、HTTP请求配置
4、监听器配置
4.1 Active Threads Over Time:查看并发用户数变化曲线
4.2 Response Time Over Time:观察并发响应时间变化曲线
4.3 聚合报告
5、结果分析指标
三、峰值流量场景(突发流量冲击)
1、插件安装
2、配置突发流量模型
3、HTTP请求配置
4、监听器配置
4.1 Active Threads Over Time:查看并发用户数变化曲线
4.2 Response Time Over Time:观察并发响应时间变化曲线
4.3 聚合报告:统计错误率、平均响应时间等核心指标
4.4 Composite Graph:叠加显示RPS、响应时间、活跃线程数,定位性能拐点
5、结果分析指标
四、生成报告
一. 基础负载测试场景:固定并发用户数
场景:验证系统在预期最大并发下的稳定性,验证系统在固定并发用户数下的响应时间、吞吐量和错误率。
例如:模拟 100 用户同时访问登录接口,持续 10 分钟。
1、线程组配置
右键“测试计划” → 添加线程组(添加 > 线程(用户) > 线程组
)
-
线程数(用户数):100
-
Ramp-Up 时间:0 秒(立即启动所有线程,模拟瞬时并发)
如果希望逐步加压后再保持并发,10 秒(用户逐步启动) -
循环次数:设为
Forever
,通过 Scheduler 设置持续时间 600 秒(10 分钟)。
2、HTTP请求配置
右键线程组 → 添加 → 取样器→ 选择 HTTP请求
具体配置,详见文章:
Jmeter-功能测试
3、添加定时器
精确模拟瞬时并发:右键HTTP请求
→ 添加 → 定时器 →同步定时器
4、添加监听器
4.1 聚合报告
右键线程组 → 添加→监听器→聚合报告
4.2 响应时间图
右键线程组 → 添加→监听器→响应时间图
4.3 查看结果树
仅调试时使用,正式压测需禁用,避免内存溢出
右键线程组 → 添加→监听器→查看结果树
5、结果分析指标
指标 | 说明 |
---|---|
Samples | 总请求数 |
Average RT | 平均响应时间(应低于业务阈值,如500ms) |
Throughput | 每秒处理请求数(TPS),越高说明系统吞吐能力越强 |
Error % | 错误率(应接近0%,异常请求需排查原因) |
90% Line (RT) | 90%请求的响应时间小于该值(反映长尾性能) |
二. 阶梯式加压场景(逐步增加并发)
场景:逐步增加并发用户数,观察系统性能拐点(如响应时间陡增、错误率上升),确定系统能承受的最大并发用户数。
例如:每 2 分钟增加 50 用户,直到达到 300 用户,持续5分钟。
1、插件安装
安装插件管理器:JMeter Plugins Manager 具体安装步骤:略
选项-->Plugins Manager-->Available Plugins-->搜索并安装 Concurrency Thread Group、3 Basic Graphs
2、阶梯配置
右键“测试计划” → 添加线程组(添加 > 线程(用户) >
Stepping Thread Group)
-
关键参数:
-
This group will start
100
threads:总线程数(如100用户) -
First, wait for
0
seconds:启动前等待时间 -
Then start
10
threads:初始并发用户数 -
Next, add
10
threads every60
seconds:每60秒增加10用户 -
Using ramp-up
10
seconds:每次新增用户的启动时间 -
Then hold load for
300
seconds:达到最大并发后持续300秒 -
Finally, stop
5
threads every1
seconds:释放线程速度(可选)
-
3、HTTP请求配置
右键线程组 → 添加 → 取样器→ 选择 HTTP请求
具体配置,详见文章:
Jmeter-功能测试
4、监听器配置
4.1 Active Threads Over Time:查看并发用户数变化曲线
右键线程组 → 添加→监听器→Active Threads Over Time
4.2 Response Time Over Time:观察并发响应时间变化曲线
右键线程组 → 添加→监听器→Response Time Over Time
4.3 聚合报告
右键线程组 → 添加→监听器→聚合报告
5、结果分析指标
5.1 响应时间趋势
当并发增加时,响应时间是否线性增长?是否存在突增拐点?
5.2 吞吐量曲线
吞吐量是否随并发增加而上升?到达某一点后是否趋于稳定?
5.3 错误率变化
高并发阶段是否出现超时(如HTTP 504)或业务错误(如HTTP 500)?
三、峰值流量场景(突发流量冲击)
场景:模拟短时间内的高并发请求(如秒杀活动),测试系统抗突发流量能力。
例如:在 10 秒内启动 1000 用户访问下单接,保持30秒高并发。
1、插件安装
安装插件管理器:JMeter Plugins Manager 具体安装步骤:略
选项-->Plugins Manager-->Available Plugins-->搜索并安装 Custom Thread Groups、3 Basic Graphs、
Composite Timeline Graph
2、配置突发流量模型
右键“测试计划” → 添加线程组(添加 > 线程(用户) >
Ultimate Thread Group)
-
关键参数:
Start Threads Count: 1000 (突发并发用户数) Initial Delay (sec): 0 (立即启动) Startup Time (sec): 10 (10秒内启动所有线程) Hold Load (sec): 30 (保持30秒高并发) Shutdown Time (sec): 10 (10秒内停止所有线程)
3、HTTP请求配置
右键线程组 → 添加 → 取样器→ 选择 HTTP请求
具体配置,详见文章:
Jmeter-功能测试
4、监听器配置
4.1 Active Threads Over Time:查看并发用户数变化曲线
右键线程组 → 添加→监听器→Active Threads Over Time
4.2 Response Time Over Time:观察并发响应时间变化曲线
右键线程组 → 添加→监听器→Response Time Over Time
4.3 聚合报告:统计错误率、平均响应时间等核心指标
右键线程组 → 添加→监听器→聚合报告
4.4 Composite Graph:叠加显示RPS、响应时间、活跃线程数,定位性能拐点
右键线程组 → 添加→监听器→Composite Graph
5、结果分析指标
指标 | 健康标准 | 异常排查建议 |
---|---|---|
错误率(Error %) | <1% | 检查服务器日志、数据库连接池、限流配置 |
平均响应时间(RT) | 符合业务SLA(如≤2秒) | 分析慢查询、GC停顿、网络带宽瓶颈 |
吞吐量(Throughput) | 接近系统理论最大值 | 检查CPU/内存是否饱和、是否有锁竞争 |
活跃线程数 | 与配置的突发线程数一致 | JMeter客户端资源是否充足 |
典型问题定位
-
大量504 Gateway Timeout
-
后端服务处理超时 → 优化SQL或增加服务超时阈值。
-
-
频繁429 Too Many Requests
-
触发限流 → 验证限流阈值是否合理,或扩容服务节点。
-
-
数据库连接池耗尽
-
错误日志显示
Cannot get a connection
→ 增大连接池或引入缓存
-
四、生成报告
命令执行
jmeter -n -t testplan.jmx -l result.jtl -e -o report/
-
-n
: 无GUI模式 -
-t
: 测试计划文件 -
-l
: 结果日志文件 -
-e -o
: 生成HTML报告