别等线上崩了才压测:后端程序员都该会用 JMeter

79 阅读2分钟

你有没有经历过——

  • Collections.shuffle(testList),每次“随机”都像排好队;
  • Redis increment() 一执行,原本设置的过期时间直接神隐,变成永不过期的无底洞;
  • 明明设置了线程池,结果压测一上就直接打满CPU;
  • 接口写得优雅,部署一上线却“优雅下线”,QPS 50就开始超时
  • 明明 return 的是 "success",用户却告诉你他们看到的是 "502 Bad Gateway"
  • 本地接口 10ms 响应,线上直接成了定时炸弹,时快时慢,像在看股市
  • 压力一上来,MySQL 慢 SQL 排队、Redis 热 Key 抖动、Tomcat 线程池告急,老板却问你:“接口是不是没优化好?”

有没有?有没有?有就对了!

这些坑,不是你写得不对,而是你没压过!

来来来,墙裂推荐一波 JMeter —— 后端必用的压测神器!

一款上手容易、功能强大、定位问题如开挂的工具,不管你是接口测试、链路压测、数据库负载验证,统统不在话下。

如果你连接口都没测过几百并发,怎么知道你的业务能抗住双11?

🧱 创建测试脚本(压测脚本)

1. 添加线程组(模拟用户)

右键“测试计划” → 添加 → 线程(用户)→ 线程组
设置示例:

参数说明
线程数10模拟 10 个用户
Ramp-Up 时间55 秒内启动完所有用户
循环次数3每个用户请求 3 次

2. 添加 HTTP 请求

在线程组上右键 → 添加 → 取样器 → HTTP 请求
设置如下:

参数
协议https
服务器名称或 IPjsonplaceholder.typicode.com
方法GET
路径/posts/1

这里根据你们自己的接口实际情况填写,post/get傻瓜式填入,跟postman一样的,还可以添加header头,上传文件等等


3. 添加结果查看器

右键线程组 → 添加 → 监听器 → 查看结果树
它可以帮助我们查看每个请求的响应内容、状态码、执行时间等信息。


▶️ 运行测试

点击工具栏顶部的绿色 ▶️ 按钮运行压测。

运行完成后,切换到“查看结果树”组件,查看每个请求的响应内容和状态码。


📊 查看基本性能指标(可选)

你还可以添加一个“聚合报告”监听器:

右键线程组 → 添加 → 监听器 → 聚合报告

它会统计出以下指标:

指标含义
Average平均响应时间(毫秒)
Throughput吞吐量(每秒请求数)
Error %错误率
Min / Max最快/最慢的响应时间

✅ 总结

通过以上简单几步,你已经实现了对一个 GET 接口的基本压测。JMeter 非常适合用来验证接口性能瓶颈、模拟并发、做接口验证。 这里只给你演示基本用法,更多流弊功能还需要你们自己取探索咯