Stack Reduce
性能测试

JMeter

JMeter 性能测试指南。

线程组配置

参数说明示例
Number of Threads并发用户数100
Ramp-Up Period所有线程启动完成的时间(秒)10
Loop Count每个线程执行次数10
Duration持续时间(秒),勾选 Infinite 后生效60

上述示例表示:10 秒内启动 100 个线程,每个线程循环执行 10 次请求。

常用监听器

聚合报告(Aggregate Report)

右键 Thread GroupAddListenerAggregate Report

指标说明
Samples总请求数
Average平均响应时间(ms)
Median中位数响应时间
90% Line90% 请求的响应时间上限
95% Line95% 请求的响应时间上限
99% Line99% 请求的响应时间上限
Min / Max最小 / 最大响应时间
Error %错误率
Throughput吞吐量(请求/秒)

关键性能指标参考

指标一般标准
平均响应时间< 200ms(API 接口)
95% Line< 500ms
错误率< 1%
吞吐量根据业务目标评估

命令行运行

提示

正式性能测试应使用命令行模式(Non-GUI),避免 GUI 模式消耗额外资源影响结果。

jmeter -n -t test-plan.jmx -l result.jtl -e -o report/
参数说明
-nNon-GUI 模式
-t测试计划文件(.jmx
-l结果日志文件(.jtl
-e生成 HTML 报告
-oHTML 报告输出目录

生成的 HTML 报告包含响应时间分布图、吞吐量趋势图等可视化图表。

性能调优建议

JMeter 自身优化

  • 使用命令行模式运行
  • 移除不必要的 Listener(如 View Results Tree)
  • 大并发时增加 JMeter JVM 堆内存:
# 编辑 bin/jmeter 文件
HEAP="-Xms1g -Xmx4g"

分布式压测

当单机无法模拟足够并发时,使用 JMeter 分布式模式:

  1. 在多台压力机上启动 jmeter-server
  2. 在控制机的 jmeter.properties 中配置 remote_hosts
  3. 使用 -r 参数启动分布式测试:
jmeter -n -t test-plan.jmx -r -l result.jtl

本页目录