2.8.2 海内外 QUIC 实践结论

笔者写下这段文字时,距离 HTTP/3 正式发布已经过去了一年半之久。那么 QUIC 的表现如何,是否可以应用到正式环境?

爱奇艺基础架构团队对 HTTP/1.1、HTTP/2、HTTP/3 等各版本进行基准测试,笔者征得业务部门的许可,将测试数据在此分享,以供读者参考。

如图 2-30 所示的是,不同用户网络质量下各 HTTP 协议的耗时表现。


图 2-30 不同网络质量下的协议耗时表现(耗时单位 ms)

测试数据表明,在同等网络环境条件下 HTTP/3 或 H3-29 对比 HTTP/2 的延迟降低了 1 倍左右。

不过这次测试也发现了另外一个问题,根据图 2-31 的网络请求成功率的测试结果看,HTTP/3 或 H3-29 比 HTTP/2 的失败率更高。


图 2-31 不同网络质量下的协议失败率表现

2024 年初,笔者在海外各地区也进行一番测试,采样的数据同样表明“HTTP/3 的失败率比 HTTP/2 要高一倍左右”,错误类型绝大多数为 Lost connection。

综合来看,无论是在服务端还是客户端,QUIC 协议的集成并非一件易事:

  • 服务端在设计时不仅需要适配 QUIC 协议栈,还要考虑和 TCP 的兼容,鉴于 TCP 已经在内核中经过深度优化,能够适应各种网络环境,这就引发了一个问题:“QUIC 在实际应用中的效能表现是否能够与 TCP 相媲美?"。
  • 客户端也考虑应用适配成本和收益之间的权衡。如果使用 QUIC,客户端要提供降级容错的能力,并做好在很长一段时间内同时维护新旧两种网络库的准备。
总字数:480
Last Updated:
Contributors: isno