我有一个存储桶bucket_a
,并试图将此存储桶的内容复制到另一个存储桶bucket_b
中,但是从存储桶{的文件夹folder_a
复制对象需要花费大量时间{1}}到bucket_a
存储桶folder_a
中,因为每个文件夹中有将近9k个对象,每个对象大小为600MB,我有20个这样的文件夹。
我尝试了bucket的加速选项,并使用了aws cli的bucket_b
命令,看来还需要2-3天来复制内容。
答案 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 和内存,因此您需要注意如何设置。