从延迟到即时:GitHub Issues 导航性能现代化改造 (opens in new tab)
📌 One-Sentence Summary GitHub Issues 性能团队重新设计了导航数据流,采用客户端缓存、预热和服务工作线程,将感知延迟从网络受限转变为即时,显著提升了 HPC 百分位指标。 📝 Summary 本文详细介绍了 GitHub Issues 导航性能的架构改造。团队发现,主导导航路径是最慢的(硬导航),而重复访问模式使缓存成为可行方案。他们实施了三阶段策略:首先,使用基于 IndexedDB 的客户端缓存层,配合 stale-while-revalidate 语义实现 React 软导航,使 22% 的此类导航变为即时。其次,引入了“预热”策略,从高意图界面(如问题列表)主动填充缓存,同时避免请求泛滥,将缓存命中率提升至约 96%,使高达 70% 的 React 导航变为即时。最后,部署了服务工作线程,拦截硬导航和 Turbo 导航,在有缓存数据时向服务器发送信号,以跳过昂贵的服务端渲染。累积结果显示,HPC(最高优先级内容)分布发生了显著变化:P10 从约 600ms 降至 70ms,P50 从约 1200ms 降至 700ms,P75 从 1800...
Read the original article