我正在使用 s3 将数 TB 的数据导入生物信息学管道。我有 20 个节点,它们都位于同一个子网中,从 复制文件s3://mybucket.com
、处理文件,然后将结果上传回s3://mybucket.com
。与 s3 之间的复制速度是这里的瓶颈。
如果我有一个节点复制文件,我得到的速度大约是 200Mib/s。但是,如果我将节点数量增加到 200 个,它们的速度都会减慢到 5Mib/s 到 15Mib/s 之间的非常慢的速度,有些甚至根本不复制。
我最初的想法是围绕子网的带宽,但以下是AWS对此有如下评论:
EC2 到 S3 – 往返于 Amazon Simple Storage Service (S3) 的流量现在可以利用高达 25 Gbps 的带宽。
我在这里遇到了哪些可能的限制?如何克服它们?谢谢!
答案1
确保您使用的是S3 网关端点在您的 VPC 内。这也将 S3 流量成本降至零,而通过互联网则按标准互联网费率收费。
如果任务是并行的,并且节点之间不通信,您可以尝试使用几个网关端点将您的实例放入几个 VPC 中。这只是一个想法,我还没有尝试过。但是,如果它们确实进行通信,这可能会大大增加您的带宽费用。