本节摘要:压测前先想清楚测什么、为什么测、怎么测。本节讲测试目标、场景选择、负载模型——策略对了压测才有意义。
阅读完本节,你应当能够:
压测不是"加压看看",要有明确目标。目标来自业务 SLA:
目标要可量化、可验证。模糊目标如"快点"测不出结论。
不是所有接口都压,选关键场景:

| 模型 | 方法 | 测什么 |
|---|---|---|
| 恒定负载 | 固定并发跑一段时间 | 稳态性能 |
| 递增负载 | 并发逐步加 | 找拐点/容量 |
| 峰值负载 | 短时高负载 | 大促峰值 |
| 稳定性 | 长时间跑 | 内存/连接泄漏 |
递增负载找拐点最常用——加压到响应突增或错误突升,拐点就是系统容量。
⚠️ 常见坑:没目标就压测——加压看 TPS 曲线,不知道多少算达标。先定量化目标(如 99% < 200ms),再测。
💡 关键直觉:策略定方向——量化目标、选关键场景、定负载模型。递增负载找拐点最常用,拐点就是系统容量。
下一节讲脚本规范——怎么写出可维护的压测脚本。
性能测试按目的分为:基准测试(单接口摸底,确定基线指标)、负载测试(逐步加压观察性能曲线)、压力测试(超限加压找系统崩溃点)、稳定性测试(长时间运行找慢性问题)、并发测试(固定并发观察表现)。不同测试类型对应不同的线程模型与运行时长。
| 要素 | 建议 | 理由 |
|---|---|---|
| 线程数 | 从低到高阶梯式 | 找拐点 |
| 数据量 | 覆盖真实规模 | 避免命中缓存偏差 |
| 时长 | 负载测试 15-30 分钟 | 观察稳定性 |
| 监控 | CPU/内存/连接数 | 关联分析 |
一份完整的性能测试设计文档应包含:测试背景与目标(量化指标);被测系统拓扑与版本;测试场景矩阵(接口、并发、时长、数据);通过准则(响应时间、吞吐、错误率红线);环境与数据准备清单;风险与回滚预案。以文档驱动执行,能保证压测可复现、结果可追溯、结论可审计。
以秒杀场景为例:预热阶段(小并发预热缓存)→ 峰值阶段(瞬时 5000 并发冲击)→ 回落阶段(持续 2000 并发 10 分钟)→ 恢复观察(低并发确认系统恢复)。这种阶梯场景设计比单一固定并发更能暴露系统在流量突变下的问题(缓存击穿、限流触发、连接池重建)。
基准测试:单接口 1 线程 1 次,测基线 负载测试:阶梯加压 50→100→200→400 压力测试:超过预估容量 50%,找崩溃点 稳定性测试:额定并发 4 小时以上 并发测试:固定并发(如 1000)观察表现
先跑基准确认工具链路正常,再做负载测试找容量拐点,压力测试验证极限保护,稳定性测试覆盖长期运行,最后用并发测试补充特定场景。不同类型解决不同问题,组合使用才能全面评估。