标准答案
- 按业务分布构造热点和长尾,测量锁竞争、单分片、缓存击穿和连接池等待。
- 加入突发、持续过载、慢下游、限流、超时、取消和重试,观察系统是否有界退化。
- 定义成功标准:P99、错误率、拒绝率、数据不变量、重复副作用和恢复时间。
- 压测环境要隔离真实用户和生产依赖,并记录流量模型、版本、数据量和保护措施。
题目解析
并发压测应模拟真实的 Key 分布、请求大小、慢依赖和失败比例。均匀随机请求可能完全避开热点锁、单分片、缓存击穿和连接池竞争,得到过于乐观的结果。
测试场景要包含突发、持续过载、超时、取消、重复提交、下游限流和恢复,并把 P99、拒绝率、资源等待、重试放大和业务不变量作为共同验收指标。
压测本身也要有安全边界:隔离环境、明确数据清理、停止条件和流量模型,保留版本、数据量和配置。吞吐提高但出现重复扣款或库存异常,不能算测试通过。
常见误区
- 误区:只提高并发数,不改变数据分布。改正:构造热点 Key、长尾请求、突发和慢下游,覆盖真实竞争。
- 误区:只看吞吐不看数据正确性。改正:同时校验唯一性、库存、状态机、幂等记录和外部副作用。
- 误区:在没有保护的生产环境直接压测。改正:使用隔离环境、明确停止条件和可回滚的测试数据。