有效地将许多小文件移动到Amazon S3

时间:2011-12-28 00:18:31

标签: amazon-s3 amazon-web-services

我有大约60,000个小图像文件(总大小200mb),我想从项目存储库移出到Amazon S3。

我尝试过s3fs(http://code.google.com/p/s3fs/),在Mac OS X上通过Transmit安装S3以及Amazon AWS S3网络上传器。不幸的是,似乎所有这些都需要很长时间,超过一两天才能完成任务。

还有更好的方法吗?

3 个答案:

答案 0 :(得分:4)

有些事情可能会限制数据流量,每种方法都有不同的方法来缓解它:

  1. 您的转移应用可能会增加开销。如果s3fs太慢,您可以尝试其他选项,例如AWS控制台上的S3选项卡或s3cmd之类的工具。

  2. 计算机和S3之间的网络延迟以及API调用响应的延迟可能是您在单个线程中可以执行的操作的一个重要因素。解决这个问题的关键是并行上传多个文件(数十个)。

  3. 您和S3之间的网络连接速度很慢,可能会限制总数据传输速度。如果您可以压缩文件,可以将它们以压缩形式上传到临时EC2实例,然后解压缩并从实例上传到S3。

  4. 我的赌注是2号,这并不总是最容易解决,除非你有上传工具可以为你并行化。

答案 1 :(得分:2)

几年前Jeff Atwood发表了一篇名为Using Amazon S3 as an Image Hosting Service的博客文章。他对类似问题的解决方案(图像托管通常包含托管许多小文件)是使用S3Fox Organizer for Firefox

要解决之前的答案,Amazon S3不允许您解压缩文件(要执行此操作,您需要下载,解压缩和重新上传)。

答案 2 :(得分:1)

我们为具有类似要求的项目创建了一个工具。 你可以在这里下载:

https://github.com/mshytikov/s3files