pinterest_app下载(pinterest_app下载苹果)

图1——Pinterest的HTTP/3现在Pinterest在HTTP/3上运行。我们在多CDN边缘网络上为主要的Pinterest生产域启用了HTTP/3,并且我们升级了客户端应用程序的网络堆栈以支持新协议。这使我们能够赶上行业趋势。最重要的是,更快、更可靠的网络改善了Pinners的体验和

pinterest_app下载(pinterest_app下载苹果)

图 1——Pinterest 的 HTTP/3

现在 Pinterest 在 HTTP/3 上运行。我们在多 CDN 边缘网络上为主要的 Pinterest 生产域启用了 HTTP/3,并且我们升级了客户端应用程序的网络堆栈以支持新协议。这使我们能够赶上行业趋势。最重要的是,更快、更可靠的网络改善了 Pinners 的体验和业务指标。

语境

网络性能(例如延迟和吞吐量)对 Pinners 的体验至关重要。

2021 年,Pinterest 的一群客户端网络爱好者开始考虑为 Pinterest 采用 HTTP/3(fka QUIC),从流量/CDN 到客户端应用程序。我们在整个 2022 年都致力于此,我们已经实现了最初的目标(在 2023 年及以后继续开展工作)。

条款

  • HTTP/3:下一代 HTTP 协议。它已经稳定下来,现在由IETF 工作组完成。
  • QUIC :由Chromium /Google创建后来提交给 IEFT 进行标准化 (HTTP/3)。

HTTP/3 如何提供帮助

HTTP/3 是一种现代 HTTP 协议,与 HTTP/2 相比具有许多优势,包括但不限于:

  • 与 HTTP/2 相比,没有 TCP 线头阻塞问题
  • 跨 IP 地址的连接迁移,这对移动用例很有用
  • 能够更改/调整丢失检测和拥塞控制
  • 减少连接时间(0-RTT,而 HTTP/2 仍然需要 TCP 3 次握手)
  • 对于大负载用例更有效,例如图像下载、视频流等。

这些进步非常适合 Pinterest 用例——实现更快的连接建立(到第一个请求的第一个字节的时间)、改进的拥塞控制(我们拥有的大型媒体)、无 TCP 队头阻塞的多路复用(同时进行多个下载) ), 并在 pinners 的设备网络/ip 更改时继续进行中的请求。因此,当 Pinner 在 Pinterest 平台上发挥灵感时,他们将获得更快、更可靠的体验。

Pinterest 采用 HTTP/3

战略

安全和指标是第一位的。尽管 Pinterest 专注于快速执行,但我们采用深思熟虑的方法来采用 HTTP/3 至关重要。 首先,我们升级了客户端网络堆栈并为每种流量类型(例如图像、视频)创建了端到端的 A/B 测试。然后,我们在 CDN 和客户端上启用 HTTP/3 之前进行了广泛的实验。

挑战:

在我们的 CDN 和客户端应用程序上启用 HTTP/3 的过程并不简单,主要有以下几个原因:

  • 对于 Web 应用程序,一些浏览器已经支持 HTTP/3 或 QUIC。尽管这些浏览器使用 HTTP/3,但可能存在兼容性问题,这可能会破坏 Pinterest 网络应用程序。
  • 新的 iOS 版本(从 iOS 15 开始)有早期的 QUIC 支持,我们没有办法通过代码来控制它,除非我们在服务器端禁用 QUIC。
  • 我们的 CDN 供应商处于 HTTP/3 支持的不同阶段。随着我们逐渐通过 CDN 启用 HTTP/3,我们的多 CDN 边缘网络在相当长的一段时间内仅部分支持 HTTP/3,这使得在流量切换 CDN 时确保可靠性和性能成为一个有趣的问题(链接)。

解决方案:

  • 首先,我们创建了一个 A/B 域级 (CDN) 测试,我们克隆了一个域以启用 HTTP/3 并彻底验证了客户端(包括 Web)。例如:在图像 HTTP/3 验证计划中,我们使用 i2.pinimg.com 来验证 HTTP/3 上的图像流量。
  • 对于多 CDN 问题,我们选择了一个相对较短的Alt-Svc TTL 来接近 DNS 记录 TTL,并且我们尝试在这些 CDN 上配置相同的协议集。
  • 使用最常用的浏览器执行了广泛的测试以验证跨 CDN HTTP/3 行为。
  • A/B 测试通过后,我们在生产环境中启用了 HTTP/3(CDN 与 CDN),然后让客户端应用程序使用一个功能标志来控制 HTTP/3 和有能力的网络客户端,这样更安全并且可以进行指标收集和比较。

当前状态

我们已在关键流量类型上启用 HTTP/3,并升级/利用移动客户端的网络堆栈以利用 HTTP/3

流量:我们的多 CDN 边缘网络上的主要 Pinterest 生产域启用了 HTTP/3

客户

  • Web将在符合条件的浏览器和流量上免费获取
  • iOS——图像/API 流量由Cronet + HTTP/3提供服务。今天,70% 的 iOS 图像流量是通过 HTTP/3 传输的。
  • iOS 的本机网络堆栈在我们在流量端启用 HTTP/3 后可以使用它。Apple 的 HTTP/3 采用率逐年提高。我们在我们的视频指标中看到了这一点的好处,它已经通过 HTTP/3(通过 AVPlayer)得到了显着改善。
  • Android Video通过 Exoplayer+Cronet 使用了 HTTP3。

展柜

我们的分析表明 HTTP/3(和 Cronet)改进了核心网络指标(往返延迟和可靠性)改进的延迟/吞吐量对于大型媒体功能(如视频、图像)至关重要。更快、更可靠的网络也能够改变用户参与度指标。

视频指标

视频特写 GVV(iOS:Apple 网络 + HTTP/3):

pinterest_app下载(pinterest_app下载苹果)

视频特写 GVV(Android:Exoplayer + Cronet + HTTP/3):

pinterest_app下载(pinterest_app下载苹果)

图 2 — HTTP3 对视频启动延迟的直接影响

参与度指标(iOS):HTTP/3 的直接影响

pinterest_app下载(pinterest_app下载苹果)

图 3 — HTTP3 对用户参与度的影响

网络指标

  • 往返延迟(毫秒):

pinterest_app下载(pinterest_app下载苹果)

图 4——HTTP/3 之前和之后的网络请求往返延迟

注意:1)从客户端测量,从发送请求到收到响应;2) 基于 2022 年第 3 季度使用 Apple 网络 (HTTP/2) 和 2023 年第 1 季度使用 Cronet(启用 HTTP/3)收集的为期一周的网络日志。

  • 可靠性也得到改善。

未来的工作

我们将继续投资 HTTP/3 以获得持续影响,包括:

  • 增加 HTTP/3 的覆盖范围;探索 Android 上的其他网络堆栈。
  • 进一步提高 HTTP/3 的采用率;设置为更高的 max-age 值。
  • 试验各种拥塞控制算法。
  • 探索 0-RTT 连接建立。

作者:Liang Ma | Software Engineer, Core Eng; Scott Beardsley | Engineering Manager, Traffic; Haowei Yuan | Software Engineer, Traffic

出处:https://medium.com/pinterest-engineering/pinterest-is-now-on-http-3-608fb5581094

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1553299181@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.lmux.cn/21332.html