Dropbox 实验 HTTP/3 以改善网络延迟
Dropbox 最近通过实验 HTTP/3 来改善网络延迟,特别是在第 90 百分位(p90)及更高百分位上观察到显著的延迟减少。该实验由 Dropbox 的 Retrieval Experiences and Traffic 团队成员 Tiffany Fong、Mike Lyons 和 Nikita Shirokov 在博客文章中详细描述。
实验背景与设计
网络延迟受多种因素影响,如时间、本地网络条件以及用户位置与 Dropbox 服务器之间的距离。团队发现,欧洲的网络延迟是北美的两倍,而亚洲的延迟则是北美的三倍。
实验设计了一个测试站点,通过 HTTP/3 发出特定的 API 请求,而不会影响主站点的用户。从 2022 年 12 月到 2023 年 1 月的两周内,团队每天触发 30 万次请求。为了模拟 Dropbox 的实际场景,请求被并行执行,以模拟并发操作。HTTP/3 测试在每次页面加载后和用户搜索完成后进行。
HTTP/3 简介
HTTP/3 是超文本传输协议的第三次重大迭代,于 2022 年 6 月 6 日由互联网工程任务组(IETF)作为 RFC 9114 正式发布为拟议标准。
实验方法
为了模拟实际场景,团队采取了系统化的方法。他们通过触发两个连续的 HTTP/3 请求来预热缓存,然后在初始的 HTTP/2 连接后尝试使用 HTTP/3 进行所有后续连接。接着,他们执行五个并行的 HTTP/2 请求到一个无操作 API 端点,记录每个请求的网络时间。最后,在最后一个阶段,使用 HTTP/3 对同一个无操作 API 端点进行另一组五个并行请求,并记录网络时间以供分析。
实验结果
使用 HTTP/3 导致 p90 的延迟减少了 48 毫秒(13%),p95 的延迟减少了 146 毫秒(21%)。团队得出结论,HTTP/3 通过消除头阻塞,在并行连接中更好地处理丢包。特别是在分析特定区域的高百分位数时,HTTP/3 对网络延迟的影响更加明显。在亚洲地区,HTTP/3 显著减少了约 77 毫秒(p90)和 200 毫秒(p95)的网络延迟。
社区反应与未来计划
该实验引起了技术社区的关注,特别是在 YCombinator 上引发了讨论。用户 clementmas 提问:“我们现在可以使用 HTTP/3 吗?它是否广泛支持?”社区的回答确认了 Google 和 Facebook 已经部署了 HTTP/3,而 Nginx 1.25 也已将其列入路线图。
结论
通过这次实验,Dropbox 团队对 HTTP/3 的优势有了更深入的理解,并计划在生产环境中实施 HTTP/3。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。