首页 > 解决方案 > Bash 脚本将单个文件从一个 S3 存储桶复制 100 次到另一个并行

问题描述

我想创建一个 shell 脚本,它应该能够将大小为 2GB 的单个文件从一个 AWS S3 存储桶并行复制到另一个 AWS S3 存储桶 100 次。

#!/bin/bash 
FILES="xxx.csv" 
TABLES="table1 table2 table3 table4 table5" 
SOURCE="s3://SourceBucket" 
TARGET_PREFIX="s3://TargetBucket/" 
echo "Uploading from $SOURCE" 
for 
table in $TABLES 
do 
echo "Table: $table" 
for file in $FILES 
do TARGET="$TARGET_PREFIX/$table/$TARGET_PART" 
echo "Uploading $file to INGEST Bucket" 
aws s3 cp $SOURCE/$file $TARGET --sse "AES256" 
done 
done

标签: bashamazon-web-servicesamazon-s3amazon-ec2performance-testing

解决方案


您的目标似乎是测量给定 Amazon EC2 实例的网络性能。您可以利用其他人创建的工具,而不是自己编写。

如果您希望测量同一 VPC 中两个 Amazon EC2 实例之间iperf的带宽,您可以使用.

有关详细信息,请参阅:基准测试同一 VPC 中 Amazon EC2 Linux 实例之间的网络吞吐量

如果您希望测量Amazon EC2 和 Amazon S3 之间的性能,可以使用dvassallo/s3-benchmark:Measure Amazon S3's performance from any location

有关此工具的 Reddit 讨论,请参阅:每个 EC2 实例类型的 S3 带宽:编程


推荐阅读