背景:
我们使用并行复合上传方法通过AJAX调用从Web界面直接将文件上传到GCS。
在不同情况下运行测试时,我们注意到在某些网络上,上传速度上限约为50Mbps,即使所有这些都带宽介于100Mbps和1Gbps之间。
我们在其中一个"陷入困境的"中运行了gsutils perfdiag
网络,以模仿Web界面上传方法,并获得明显更好的性能。在比较浏览器调用和gsutils
TCP连接时,我们意识到后者在浏览器时没有使用HTTP / 2。这意味着gsutils
正在打开多个TCP连接并并行发送32个块。
我们在Firefox中禁用了HTTP / 2(在Chrome的更高版本中无法使用),并使用HTTP 1.1(最多6个并行发送的块)运行相同的上传请求,并且上传速度得到显着提升。
如果应用程序需要高性能上传速度,我们需要确保在网络带宽允许时保持一致的上传速度。
问题: