【发布时间】:2019-04-28 00:17:33
【问题描述】:
- 我们使用下面的 gsutil 命令每周执行一次从 GCS 到 S3 的传输。 5,000 个压缩对象,每个约 82 MB - 组合大小约 380 GB。它会导出供 Redshift 使用的数据(如果有任何相关性)
- 从本地 Hadoop 集群到 S3 的相同类型传输耗时不到 1 小时。现在使用 gsutil,需要 4-5 小时。
- 我知道,在后台,gsutil 从 GCS 下载文件,然后将它们上传到 S3,这会增加一些开销。因此,为了获得更快的速度,我尝试在 S3 和 GCS 存储桶的地理位置在 Compute Engine 上执行 gsutil,但速度同样慢
-
我玩过parallel_process_count 和parallel_thread_count 参数,但没有区别
gsutil -m rsync -r -n GCS_DIR S3_DIR
我的问题是:
- 我还能做些什么来加快速度吗?
- 您会尝试哪些 parallel_process_count 和 parallel_thread_count 组合?
- 有什么方法可以找出哪个阶段造成了瓶颈(如果有的话)? IE。是上传还是下载阶段?
-
查看日志,以下是否意味着一段时间内带宽为 0%?
Copying gcs://**s3.000000004972.gz [Content-Type=application/octet-stream]... [4.8k/5.0k files][367.4 GiB/381.6 GiB] 96% Done 0.0 B/s
提前致谢:)
【问题讨论】:
-
为什么不使用Storage Transfer Service 将对象从GCS 传输到S3?这是您的用例的首选方法。
-
Storage Transfer Service 只能用于从 S3加载。它不允许您将数据导出到 S3。
标签: amazon-web-services amazon-s3 google-cloud-platform google-cloud-storage