摘要
两个看起来相反的结论:一个被微基准证明"变慢了 2.1 倍"的优化我最后保留了;一个 P95 回归 69.7% 但成功率反而更好的重构我回滚了。它们背后的标准是同一条——我要的改善必须出现在真实负载的请求级指标上,而不是出现在任何可以被我解释的局部数字里。
两个看起来相反的结论:一个被微基准证明"变慢了 2.1 倍"的优化我最后保留了;一个 P95 回归 69.7% 但成功率反而更好的重构我回滚了。它们背后的标准是同一条——我要的改善必须出现在真实负载的请求级指标上,而不是出现在任何可以被我解释的局部数字里。
"服务端 0.8ms,但页面要等一秒"——这个对比是整次排查的转折点。如果我先去优化那个看起来最慢的聚合查询(76+69ms),我优化的只是 15% 的部分。这篇把那一秒拆成四份,逐份讲。
relay 处理一个请求要打四次下游 gRPC,而用户 token、渠道配置这些数据的变更频率是"每分钟几次"、读取频率是"每秒上千次"。这篇讲我怎么搭这个缓存,其中有一个我一开始想错的地方——我一度把"缓存命中"当成了"授权通过"。