压测类型怎么区分
性能测试不是一个动作而是一组类型:负载测试验证预期峰值下指标达标,压力测试逐步加压找拐点,尖峰测试看瞬时突增下的弹性,浸泡测试查长时间运行的资源泄漏,容量测试做环境与配置的横向对比。选型的顺序是「先写清要回答什么问题,再选类型」——没有目标的压测跑完也不知道结论是什么。
五类压测对照
| 类型 | 目标 | 观察点 |
|---|---|---|
| 负载测试 | 预期峰值下功能与指标达标 | 分位延迟、错误率 |
| 压力测试 | 寻找性能拐点与饱和点 | 吞吐拐点、排队与超时 |
| 尖峰测试 | 瞬时突增下的稳定性 | 弹性、保护、恢复时间 |
| 浸泡测试 | 长时间运行的资源趋势 | 内存、连接、句柄斜率 |
| 容量测试 | 环境与配置对比的可比结论 | 同曲线下的横向对比 |
典型使用场景
- 新系统上线前:负载测试确认设计容量满足预期峰值。
- 架构调整后:容量测试对比新旧环境的同曲线表现。
- 大促备战:尖峰测试验证弹性扩容与限流保护。
- 内存泄漏怀疑:浸泡测试观察内存与句柄随时间的斜率。
- 扩容决策:压力测试找拐点,为扩容规模提供依据。
- 版本回归:固定脚本做负载测试,对比版本间分位变化。
阶梯加压示意
阶梯加压示意
// k6 stages:阶梯找到拐点,再维持观察稳定性
stages: [
{ duration: '2m', target: 50 }, // 逐步爬坡到 50 并发
{ duration: '5m', target: 50 }, // 维持峰值观察是否退化
{ duration: '2m', target: 0 }, // 逐步卸载观察恢复
]目标决定指标与场景:为「能扛多少」做的压测和为「是否达标」做的压测,脚本与结论完全不同。
两轮压测要可比:脚本、数据分布、环境与加压机一致,否则差异无法归因。
先小规模探路确认对上下游的影响面,再决定是否放全量:共享环境里的压测事故多数是这一步省掉的。