如何加快S3存储桶中的副本的速度?

时间:2019-05-14 15:23:50

标签: amazon-s3 awss3transfermanager awss3transferutility aws-s3-sync

我有一个存储桶bucket_a,并试图将此存储桶的内容复制到另一个存储桶bucket_b中,但是从存储桶{的文件夹folder_a复制对象需要花费大量时间{1}}到bucket_a存储桶folder_a中,因为每个文件夹中有将近9k个对象,每个对象大小为600MB,我有20个这样的文件夹。

我尝试了bucket的加速选项,并使用了aws cli的bucket_b命令,看来还需要2-3天来复制内容。

1 个答案:

答案 0 :(得分:0)

加速此类传输的一种方法是确保您用于传输的角色可以读取源存储桶并写入目标存储桶。正确设置角色和存储桶策略后,您可以防止数据穿越 AWS 服务器之外。这样可以加快传输速度并节省您自己的数据使用量。

参见:https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-objects-account/https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

另一种加快传输速度的方法是调整复制过程中使用的一些设置。您可以指定块大小、可以同时进行传输的线程数以及其他设置。请参阅:https://docs.aws.amazon.com/cli/latest/topic/s3-config.html

您可能希望使用至少 4-10 max_concurrent_requests(线程数)并根据您的可用内存和允许的并发请求数将 multipart_chunksize 从默认值增加到某个值。

我发现 aws cli 工具基本上可以消耗您所有的 CPU 和内存,因此您需要注意如何设置。