对于 15KB 的小型测试网页,HTTP/3 平均需要 443ms 加载,而 HTTP/2 则为 458ms 。但是,一旦我们将页面大小增加到 1MB,优势就会消失:HTTP/3 仅比当今网络上的 HTTP/2 慢一点,HTTP/3 加载花费 2.33 秒,而 HTTP/2 加载花费 2.30 秒 。

文章插图

文章插图

文章插图
基准测试很有意思,然而我们更想知道 HTTP/3 在现实世界中的表现 。
为进行衡量,我们希望有一个第三方可以像浏览器一样在我们的网络上加载网站 。WebPageTest 是一个通用框架,通过漂亮的瀑布图来展示页面加载时间 。为了分析后端,我们使用了自家的 Browser Insights 来捕获白屏时间 。然后,我们将这两部分数据通过自动化的方式结合在一起 。
作为测试用例,我们决定对公司博客进行性能监控 。我们在全球范围配置了 WebPageTest 实例,以同时通过 HTTP/2 和 HTTP/3 加载站点 。我们还启用了 HTTP/3 和 Browser Insight 。因此,每当我们的测试脚本检测到使用支持 HTTP/3 的浏览器访问该站点加载网页时,浏览器就会将报告数据返回 。清洗数据并与 HTTP/2 的报告数据进行比较 。
下图显示了真实页面( blog.cloudflare.com )的页面加载时间,以比较 HTTP/3 和 HTTP/2 的性能 。同时我们还从不同的地理位置进行了这些性能评估 。

文章插图
如上图所见,在北美,HTTP/3 性能仍落后于 HTTP/2 性能,性能差距平均水平约为 1-4%,在欧洲,亚洲和南美也得到类似结论 。我们怀疑这可能是由于拥塞算法不同所致:BBR v1 上的 HTTP/2 与 CUBIC 上的 HTTP/3 不同 。将来,我们将努力在两者上支持相同的拥塞算法,以实现更准确的性能对比 。
结论总体而言,我们很高兴一起参与推动这一标准的发展 。我们的实现效果很好,在某些情况下提供了更好的性能,并且在最坏的情况下性能也和 HTTP/2 相近 。随着标准的定稿,我们期待浏览器在主流版本中增加对 HTTP/3 的支持 。对我们来说,我们将继续支持最新的草案,同时寻找更多的方法,比如拥塞调整、优先级划分或者系统容量(CPU 和原始网络吞吐量),利用 HTTP/3 获得更好的性能 。
【HTTP/3 与 HTTP/2 的性能对比】
推荐阅读
- 红枣可以和茉莉花茶起喝吗,喝茉莉花茶的好处和功效作用
- 用干桃花泡水喝天几次,玫瑰花茶泡水喝的功效
- 几种花草茶的冲泡方式,几种易调配的花草茶
- 金银花茶泡法,金银花茶的作用
- 纯CSS实现几个好看的按钮
- 山楂泡水喝可以去油是不是,玫瑰花茶泡水喝的功效
- 黑枸杞的生长环境,枸杞菊花茶用量
- 布隆过滤器究竟是什么,这一篇给讲的明明白白的
- OpenCV能做哪些好玩的项目?适合初学者学习的五个计算机视觉项目
- 茉莉花茶的药用价值,茉莉花茶的功效和好处
