1

我有一个关于使用可恢复上传到 Google Cloud Storage 的上传速度的问题。我编写了一个桌面 java 客户端来将大文件上传到 GCS(它有一些特殊的功能,这就是为什么 gsutil 不是我公司的答案)。在大约 2 个月前运行的测试期间,它很好地利用了可用的连接带宽,在 25Mbps 连接中大约有 20Mbps。该项目被冻结了将近 2 个月,现在当它重新打开时,同一个客户端以非常低的速度上传,在 25Mbps 的可用速度中只有 1.4Mbps。我编写了简单的 Python 脚本来检查它是否会出现同样的问题,并且速度会快一点,但仍然在 2Mbps 左右。Gsutil 工具的性能几乎与我的 Python 脚本相同。我还在不同的网络基础设施上以超过 50Mbps 的上传速度运行了测试。

结果也很差:

  • Java客户端2.4Mbps
  • Python 脚本 3.2Mbps
  • gsutil 3.2Mbps

唯一改变的是 Google Cloud Storage API 版本。我正在使用 JSON API,第一个测试是在 v1beta API 版本上运行的。目前,如果我仍在使用折旧的 API 或新的 API,没有区别。

有没有人遇到过同样的上传速度下降?

你的平均上传速度是多少?

上传性能如此急剧下降的可能原因是什么?

复合对象的并行上传能否帮助我充分利用可用带宽?

4

1 回答 1

1

要确定您可以预期的最高带宽是多少,我们建议运行gsutil perfdiag命令。

例如,要查看它上传 100 MB 文件的效果:

gsutil perfdiag -t wthru -s 100M gs://bucketname

这将上传一个 100MB 的文件五次并报告结果。我运行的示例输出:

------------------------------------------------------------------------------
                               Write Throughput                               
------------------------------------------------------------------------------
Copied a 100 MB file 5 times for a total transfer size of 500 MB.
Write throughput: 71.61 Mbit/s.

它还将输出许多可能有助于诊断问题的其他信息。如果 perfdiag 输出显示的吞吐量比您的应用程序高得多,那么您的代码可能有问题。如果 perfdiag 输出也是低带宽,那么您到 Google 服务器的网络路径可能有问题,perfdiag 输出可以帮助识别问题。如果这不能帮助解决您的问题,请将结果文件 ( perfdiag -o output.json) 通过电子邮件发送至 gs-team@google.com。

于 2014-09-03T15:25:02.020 回答