Skip to content

JMeter 是 Apache 的压力测试工具——模拟大量用户并发请求,测系统的承载上限性能瓶颈。这篇快速入门:核心概念、怎么跑压测、怎么看结果。

一、解决什么问题:系统能扛多少并发

单机跑没问题 ≠ 上线能扛。压测回答三个问题:

  • QPS:每秒能处理多少请求(吞吐量)
  • 响应时间:一个请求平均/最慢多久返回
  • 瓶颈在哪:CPU?数据库?还是接口本身慢

二、核心概念

概念是什么
线程组模拟并发用户(线程数 = 并发数)
HTTP 请求压测的目标接口(URL、方法、参数)
监听器看结果(汇总报告、聚合报告)
QPS每秒请求数(吞吐量)
TP9999% 的请求在多少毫秒内完成(长尾指标)

判断标准:QPS 高 + TP99 低 = 性能好;QPS 上不去 + TP99 飙升 = 有瓶颈(常见:数据库连接池、慢 SQL、锁)。

三、跑一个压测

GUI 方式(学习和调试):

1. 新建线程组:线程数 100、Ramp-Up 10 秒(100 个用户 10 秒内陆续启动)
2. 线程组下加「HTTP 请求」:填 URL、方法(GET/POST)、参数
3. 加「汇总报告」监听器
4. 点运行,看结果

CLI 方式(正式压测,无头跑):

bash
# 测试计划保存为 load_test.jmx 后
jmeter -n -t load_test.jmx -l result.jtl -e -o report/
# -n 无头模式  -l 原始结果  -e -o 生成 HTML 报告

四、看结果

「汇总报告」关键列:

含义
Samples总请求数
Average平均响应时间(ms)
Error %错误率(>0 要查)
Throughput吞吐量(QPS)

加压方法:线程数从 10 → 50 → 100 → 500 逐步加,看 QPS 在哪开始不涨(瓶颈点)——这就是系统的"承载上限"。

小结

  • JMeter 用线程组模拟并发,测 QPS 和响应时间
  • 核心指标:QPS(吞吐)、TP99(长尾)、错误率
  • 逐步加压找瓶颈点:QPS 不涨 = 到顶了
  • 正式压测用 CLI(-n -t -l -e -o),GUI 只做调试

想了解瓶颈怎么定位(数据库/接口/代码),看「线上调试」(文章整理中)。