【问题标题】:Best way to copy millions of files from S3 to GCS?将数百万个文件从 S3 复制到 GCS 的最佳方法?
【发布时间】:2014-07-11 13:09:01
【问题描述】:

我正在寻找一种将大量文件(超过 1000 万个)从 S3 存储桶移动到 Google Cloud Storage 的方法,但到目前为止我遇到了一些问题。

目前我正在使用 gsutil,因为它对 S3 和 GCS 之间的通信具有原生支持,但我得到的性能并不好。也许我只是做错了,但我一直在使用以下 gsutil 命令:

gsutil -m cp -R s3://bucket gs://bucket

我启动了一个 c3.2xlarge AWS 实例(16GB 8CPU),这样我就有足够的马力,但看起来这个盒子的吞吐量并没有比 2GB 2CPU 盒子更好,我不明白?

我一直在搞乱~/.boto 配置文件,目前设置了以下选项:

parallel_process_count = 8
parallel_thread_count = 100

我认为肯定将线程数增加 10 倍会有所帮助,但从我的测试来看,到目前为止并没有什么不同。还有什么可以提高性能的吗?

或者是否有更好的工具将 S3 数据移动到 GCS?我正在查看 SDK,并且很想用 Java 编写一些东西。

【问题讨论】:

  • 您要移动的数据的(大约)总大小是多少?您看到的性能(每秒文件数)是多少?即使使用更少的 CPU 和更多线程,您也可以获得相同的性能,这意味着您的带宽受到限制。根据数据的分布方式,您可以按前缀对副本进行分区,并使用多个运行 gsutil 的 VM 来加快速度。
  • @TravisHobrla 大约有 800GB 的数据,我不知道如何检查性能?我希望带宽不会成为问题,因为这是从 EC2 服务器到 Google,但我肯定会检查网络饱和度。
  • 您可能有兴趣注册Online Cloud Import
  • 对于这种大小的数据,gsutil 可能比在线云导入更容易。要测试性能,您可以复制一小部分文件。文件是否分布在您可以分区的任何前缀上?然后你可以使用多个实例来加速它。
  • @TravisHobrla 我可以把它分成一点,但它会很难看。我发现这个工具非常适合 S3 - github.com/cobbzilla/s3s3mirror。我想知道我是否可以将其适应 GCS?

标签: amazon-s3 google-cloud-storage cloud-storage


【解决方案1】:

Google Cloud Storage Online Cloud Import 专门用于将大量文件从大量 URL 列表或 S3 存储桶导入 GCS。它是为使用“gsutil -m”(这是首先尝试的好东西)需要太长时间的数据大小而设计的。目前可以免费使用。

(免责声明,我是项目的 PM)

【讨论】:

  • 我会看看并注册,谢谢。如果你不介意我问,引擎盖下到底发生了什么?
  • 我会检查现有的权力并找出可以共享多少“如何”。与此同时,IO 2013 presentation 突出了一些相关的想法。
  • 神器,速度真快
  • 谢谢。有没有办法以 GCS -> S3 的其他方式复制文件?我们的作业在 GCP 上运行,但客户需要它们在 S3 上。也必须将工作转移到 AWS...
猜你喜欢
  • 1970-01-01
  • 2020-04-14
  • 2016-02-17
  • 2023-03-22
  • 2013-11-11
  • 1970-01-01
  • 1970-01-01
  • 2020-06-01
  • 1970-01-01
相关资源
最近更新 更多