复制到大型目录时,AWS S3 Sync非常慢

时间:2017-01-24 18:35:53

标签: amazon-web-services amazon-s3 aws-cli bigdata

使用AWS-CLI将数据同步到S3中的空目录时,它几乎是即时的。但是,当同步到一个大目录(几百万个文件夹)时,甚至需要很长时间才能开始上传/同步文件。

有替代方法吗?在同步之前,它似乎试图考虑S3目录中的所有文件 - 我不需要这样做,并且在未事先检查的情况下上传数据就没问题了。

2 个答案:

答案 0 :(得分:14)

sync命令需要枚举存储桶中的所有文件,以确定存储桶中是否已存在本地文件,以及它是否与本地文件相同。你在文件中存的文件越多,它就会越长。

如果您不需要此sync行为,只需使用递归复制命令,如:

aws s3 cp --recursive . s3://mybucket/

这应该将当前目录中的所有本地文件复制到S3中的存储桶。

答案 1 :(得分:1)

您可以在使用--no-check-md5时使用sync选项来禁用MD5总和比较,以显着加快处理过程-

--no-check-md5        Do not check MD5 sums when comparing files for [sync].
                        Only size will be compared. May significantly speed up
                        transfer but may also miss some changed files.

来源:https://s3tools.org/usage

示例:s3cmd --no-check-md5 sync /directory/to/sync s3://mys3bucket/