Amazon web services aws复制速度使用通配符比发送所有命令的优势?
我正在尝试在存储桶之间复制大量文件,每秒只能得到大约15个文件。这是不可用的,有500k文件 所以我想知道在cp语句中使用通配符与发送单独的cp语句是否有任何区别?这里使用的“标准”是什么?或者两者都会导致相同的客户端和服务器负载 作为一个例子,我现在已经根据文件的批id编写了代码,并将它们分组发送。 但是我没有(从一个非常基本的测试中)得到它更快的印象 e、 gAmazon web services aws复制速度使用通配符比发送所有命令的优势?,amazon-web-services,amazon-s3,cp,Amazon Web Services,Amazon S3,Cp,我正在尝试在存储桶之间复制大量文件,每秒只能得到大约15个文件。这是不可用的,有500k文件 所以我想知道在cp语句中使用通配符与发送单独的cp语句是否有任何区别?这里使用的“标准”是什么?或者两者都会导致相同的客户端和服务器负载 作为一个例子,我现在已经根据文件的批id编写了代码,并将它们分组发送。 但是我没有(从一个非常基本的测试中)得到它更快的印象 e、 g aws s3 cp/XY.15937610001 aws s3 cp/XY.15937610002 aws s3 cp/XY.159
aws s3 cp/XY.15937610001
aws s3 cp/XY.15937610002
aws s3 cp/XY.15937610003
:
aws s3 cp/XY.15937615999
与:
指令
aws s3 cp--recursive--exclude=“*”--include=“XY.159376*”
多谢各位
PS edit-使用max_并发会话或类似S3DistCp(s3 dist cp)(不管是什么)是加快速度的唯一方法吗?
这两个选项目前都不可用…我相信使用
--include
/--exclude
标志的一些时间将用于查询具有该模式的键的任何特定对象
是否可以批处理并行运行多个前缀,并指定确切的前缀
每当执行查询以列出对象时,后端API都必须检查S3体系结构中许多分布式节点的内容,以检查它们是否符合此条件
如果您可以并行运行这些程序,那么您可能会看到一些速度提高,但请注意以下可能会减慢速度的因素:
- 磁盘I/O—如果写入磁盘,请注意磁盘可能会节流。对于EBS中的GP2卷,它们使用burstable积分来实现IOPs性能
- 网络I/O—服务器能否支持这种吞吐量?如果您使用的是EC2实例,请查看
- -如果您使用的是EC2,请确保您的实例已启用EBS优化。这有助于避免EBS卷上网络I/O和存储I/O之间的带宽争用
- VPC端点-为S3设置VPC端点,并将其应用于实例的路由表。通过这样做,到S3的连接变得私有,从而减少了API操作和复制的延迟
aws s3 cp <path>/XY.15937610001 <path_to>
aws s3 cp <path>/XY.15937610002 <path_to>
aws s3 cp <path>/XY.15937610003 <path_to>
:
aws s3 cp <path>/XY.15937615999 <path_to>
aws s3 cp <path> <path_to> --recursive --exclude="*" --include="XY.159376*"