首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Dropbox HTTP3试验,可以显著降低网络延迟

Dropbox一个服务全球的在线文件存储、同步、分布式共享服务商。其服务需要保障用户高速进行文件上传和下载,所以网络基础设施和协议上的改善对其服务具有重要的影响。我们知道HTTP3协议推出后,由于其底层使用UDP代替TCP协议,可以减少了TCP协议频繁的握手过程,从而提高网络性能。Dropbox为了解决其服务中文件的搜索体验,引入了HTTP3来进行技术试验,那么结果如何呢?请和虫虫一起学习他们的试验和结果。

概述

Dropbox服务中除了文件存储以外,还需要能对其在线文件进行快速搜索。在2022年7月进行的服务调查中,搜索问题仍然是其服务投诉点,并且根据用户反馈如果搜索速度可以改善,则可以大大提高Dropbox用户的活度。

当时的数据分析显示从搜索页面提交查询到收到服务器反馈响应75%的用户大概需要400-450毫秒,这确实有点慢了。

于是如何提高搜索效率,减少其延迟成了Dropbox技术团队需要解决的重要问题。在早期分析中结论是,搜索查询结果所花费的时间中,大约一半的时间是网络延迟,主要是耗费在往返Dropbox服务器的传输过程,而另一半时间是服务器延迟,即接收搜索结果上返回上。

网络延迟比服务器延迟的变化影响很大,它取决于用户本地网络条件、用户与Dropbox数据中心的距离,甚至一天高峰和非高峰期时间上的差异。在工作时间,许多用户在互联网连接良好的办公室工作,但在晚上,他们在家中互联网连接较弱。与大多数Dropbox数据中心所在的北美相比,欧洲的延迟最高可达两倍,亚洲最高可达三倍。

Dropbox用户中有四分之一搜索请求来自欧洲,15%来自亚洲,如果可以减少网络延迟,将有很多用户的服务可以得到改善。

为了解决网络延迟的问题,Dropbox技术团队决定引入一个新的技术访问,那就是HTTP3。

HTTP3的优势

和绝大多数网站一样,Dropbox目前使用HTTP2协议,HTTP2是底层基于TCP的网络传输协议。最新的HTTP3协议底层使用UDP技术替代了TCP,在理论上可以加快了连接建立并实现处理并行请求从而提高网络效率,减少网络延迟。

连接开始时引入零往返时间(0RTT)

与HTTP2相比,HTTP3减少了一次往返,因为它避免了基于TCP协议的三次握手。 此外,对于0RTT,HTTP3建立安全连接后,就可以将多个请求包合并在同一个数据包中发出,而在HTTP2中,这些数据片段必须单独发送。

消除队头阻塞

TCP是面向流的,因此需要以严格的顺序处理数据包。如果一个流中的数据包丢失,后续流中的数据包可能会在客户端的TCP堆栈中延迟。但是对于UDP,如果一个流被阻塞,其他流仍然可以向应用程序传输数据。

技术试验

理论上,HTTP3可以解决HTTP2中存在的很多问题,提高网络性能和吞吐量、减少网络延迟。但是实际效果如何,则需要在线上服务中测试才可以知道。为此,Dropbox技术团队决定先在一部分Dropbox流量上测试 HTTP3。

为了评估Dropbox服务器 HTTP3的性能,Dropbox流量团队创建了一个测试子域,为主站提供HTTP3服务。测试站点经过专门设计,以便可以安全地通过HTTP3发出特定的API请求,而不会影响Dropbox对主站用户。

作为测试站点的一部分,技术人员构建一个可以成功利用HTTP3的无操作API接口。由于无需服务器执行操作,服务器延迟将接近于零,这样这个业务延迟都为网络延迟。基于该接口,团队设计了HTTP3测试试验,包括一系列模拟Dropbox典型请求流量的操作——包括用户执行搜索时。

模拟分为三个阶段:

设置

首先,通过触发两个连续的HTTP3请求来预热缓存,忽略任何计时数据。这样做纯粹是为了平等地预热与HTTP2和HTTP3服务器相关的任何网络缓存,以确保后续的HTTP2与HTTP3测试是公平的比较。 这对于测试来说是特别必要的,因为第一个连接总是HTTP2;那是客户端收到支持HTTP3所需的信息的时候。所有后续连接都将尝试使用 HTTP3。

运行HTTP2控件

然后,向API接口提交五个并行的HTTP2请求,并记录了每个请求的网络时间。这模拟了用户当前如何服务器获取数据。

运行HTTP3试验

最后,向API接口提交了另外五个并行请求,但这次是通过HTTP3。系统自动记录了每个请求经过的网络时间,以便与HTTP2进行比较。

该测试最重要的方面是请求是并行进行的。这将模拟Dropbox的真实场景,其中每次与Dropbox网络交互都会触发许多并行请求。更重要的是,它将帮助确定消除队头阻塞是否真的会加速并行请求;如果这些请求不是跑的更快,则实际中HTTP3也无法减少网络延迟。

为了防止对面向用户的性能产生任何影响,每次页面只允许加载进行一次HTTP3测试,并且仅在用户完成搜索后进行。

Dropbox技术团队在2022年12月到2023年1月期间进行了大约两周的实验。全球范围内收集到用户流量在高峰时段QPS经常超过每秒1500次查询 (QPS)。

结果比较

在为期两周的实验过程中,每天会触发300000个HTTP3请求。对于大多数全球用户,HTTP3将网络延迟减少了5-15毫秒。虽然有所改进,但对于普通用户来说似乎可以忽略不计。然而,在p90,HTTP3表现出巨大的改进,延迟减少了48毫秒 (或13%)——在p95,延迟减少了146毫秒 (21%)。这可以解释为HTTP3通过消除队头阻塞更好地处理并行连接中的数据包丢失;由于数据包丢失更有可能发生在连接质量欠佳的网络中,因此 HTTP3的优势在较高的百分位数上更为明显。

当按区域划分时,结果更加突出。亚洲的p90网络延迟显著降低了约77毫秒在p95上降低200毫秒

欧洲、北美和中美洲等其他高流量地区改善幅度小一点,但整体相对改善程度相似。

总结

Dropbox的HTTP3试验测试证明HTTP3可以显著改善90%及以上的用户网络延迟。尽管HTTP3仅降低10%的用户的延迟,但这些用户也是最受网络高延迟的困扰的群体,也最希望得到改进得用户。从大规模试验中获得了两个主要结论:

0RTT的带来的好处不太明显,这也是Dropbox的服务业务情况的原因。Dropbox服务相关的操作基本都要求是长连接。

HTTP3对头阻塞的方式显著减少了延迟,尤其是在更可能发生数据包丢失的网络中。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230524A01BFX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券