尖峰测试实践是什么
尖峰测试(spike test)在短时间内把负载迅速拉高到峰值,再快速回落,考察系统的弹性与保护机制:扩容是否及时触发、限流与队列是否按预期工作、错误峰值有多大、负载退去后多久恢复正常,以及恢复后的数据一致性与补偿结果。关注点不是稳态吞吐,而是「骤起骤落」下的行为。
基本信息
| 负载形态 | 秒级到分钟级的快速拉升,峰值远高于日常负载 |
|---|---|
| 观察重点 | 错误峰值、恢复时间、扩容触发与队列排空 |
| 保护机制 | 限流、排队、降级、熔断在尖峰中的行为 |
| 恢复核对 | 尖峰结束后核对数据一致性与补偿结果 |
| 适用系统 | 自动扩缩容服务、消息队列、秒杀类场景 |
| 风险 | 未开保护机制可能直接把环境打挂 |
尖峰剖面示例
尖峰剖面示例
30 秒内 20 -> 400 VU,保持 1 分钟,随即回落
观察:错误峰值 / 恢复时间 / 扩容触发 / 队列排空
再看:扩容实例数的回落节奏、监控告警是否触发
最后:核对尖峰期间写入数据的完整性与对账结果典型使用场景
- 秒杀与促销评估:验证流量骤增下的保护与扩展能力。
- 自动扩缩容调参:观察触发阈值、扩容速度与回收时间。
- 限流验证:确认限流策略在尖峰中的实际拦截行为。
- 预热与缓存冷启动:评估尖峰下缓存击穿的后果。
- 故障复现:复现线上流量突刺引发的级联问题。
- 演练验收:定期演练弹性策略,形成可复用的报告模板。
观察项与信号
| 观察项 | 正常表现 | 异常信号 |
|---|---|---|
| 错误峰值 | 短暂上升后回落 | 持续高位或雪崩式扩散 |
| 恢复时间 | 负载回落后快速恢复 | 长时间无法回到基线 |
| 扩容触发 | 按阈值及时扩容 | 扩容滞后或反复震荡 |
| 队列排空 | 积压逐步清空 | 积压持续增长 |
| 数据一致性 | 尖峰后数据完整 | 补偿失败或对账不平 |
尖峰测试要开着保护机制观察:限流拦掉部分流量不是失败,而是验证保护生效;没有它们的尖峰测试往往只剩环境被打挂。
基数与倍数写清楚:从多少拉高到多少、持续多久;脱离基线的「尖峰」无法复盘,也无法与其他版本对比。
在生产环境做尖峰演练前走审批:从小流量开始,确认自愈能力后再逐步放量。