【背景】
做性能优化十年,最常被 PM 和产品问的一句话是:'这个接口 P99 从 42ms 降到 41ms,用户能感知到吗?这 3 天的开发时间是不是浪费?'
我经历过两种极端:
- 某电商大促前,一个商品列表接口 P99 是 42ms,优化后降到 41ms,但因为并发量暴涨,最终 P99 反而回到 42ms。
- 另一个项目,优化 P99 从 42ms 到 35ms,虽然用户没感知,但系统稳定性提升,错误率下降 80%。
【常见分歧】
- 有些人认为 P99 降 1ms 就值得,因为用户可能感知。
- 有些人认为,优化 P99 有时是治标不治本,比如 GC 抖动或网络抖动,优化了 P99 但 P99.9 又飙升。
- 还有些人认为,P99 不是唯一指标,更应该关注系统稳定性、错误率、资源利用率等。
【我的倾向】
我认为,P99 是一个重要的指标,但不应是唯一的指标。我倾向于结合多个指标,比如 P99、P99.9、错误率、资源利用率等,来判断优化的价值。
【想听大家在什么场景下怎么选?】
- 你们在什么场景下会优先考虑 P99 的优化?
- 你们在什么场景下会优先考虑其他指标的优化?
- 你们在优化 P99 时,有没有遇到过治标不治本的情况?
- 你们在优化 P99 时,有没有遇到过用户无法感知的情况?
- 你们在优化 P99 时,有没有遇到过优化成本远高于收益的情况?
0赞
0收藏
0楼层