我如何提高在 S3 桶和 EC2 实例之间复制数据的传输速度?

1 分钟阅读
0

我想提高将数据从 Amazon Elastic Compute Cloud(Amazon EC2)实例传输到 Amazon Simple Storage Service(Amazon S3)桶的速度。

简短描述

将数据从 Amazon EC2 复制、移动或同步到 Amazon S3 的传输速度取决于多个因素。要提高 EC2 实例和 S3 桶之间的传输速度,请使用以下解决方法。

解决方法

在 EC2 实例上使用增强联网

增强联网可以加大带宽,提高每秒数据包数(PPS)性能,并降低实例间的延迟。您可以启用增强联网,无需任何额外费用。

如果您的 EC2 实例的 PPS 速率似乎已达到上限,说明该实例可能已达到网络接口驱动程序的上限阈值。发生这种情况时,请启用增强联网。

**注意:**请务必查看增强联网的实例要求

使用并行工作负载进行数据传输

要缩短完成数据传输所需的总时间,请将传输拆分为多个互斥操作。例如,如果您使用的是 AWS 命令行界面(AWS CLI),则可以运行 AWS S3 cpAWS S3 mvAWS S3 sync 的并发实例。如果您跨多个前缀分布数据,请运行多个 AWS CLI 实例来并行执行单独的同步操作。

例如,您可以为以下不同前缀运行并行同步操作:

  • aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET/folder1 s3://destination-AWSDOC-EXAMPLE-BUCKET/folder1
  • aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET/folder2 s3://destination-AWSDOC-EXAMPLE-BUCKET/folder2

**注意:**如果在运行 AWS CLI 命令时收到错误,请确保确认您运行的是最新版本的 AWS CLI

在 AWS CLI 上自定义上传配置

要加快数据传输,请为 Amazon S3 自定义以下 AWS CLI 配置值

  • **multipart_chunksize:**此值设置 AWS CLI 在分段上传中为单个文件上传的每个部分的大小。通过此设置,您可以将较大的文件分解为各个小部分,来加快上传速度。
    **注意:**分段上传要求单个文件上传时所分的不同段不超过 10,000 万个。确保您所设置的区块大小平衡了段文件大小和段的数量。
  • **max_concurrent_requests:**默认情况下,AWS CLI 支持多线程。更改 max_concurrent_requests 值,增加您一次可以发送到 Amazon S3 的请求数。默认值为 10。增加此值后,响应可能会出现停滞。但是,将更高的 max_concurrent_requests 值与并行工作负载组合,以达到更好的总体传输速度。
    **注意:**在运行更多线程时,计算机上会消耗更多资源。您必须确保计算机有足够的资源来支持最大并发请求数。

为 Amazon S3 使用 VPC 端点

如果您的 EC2 实例与 S3 桶位于同一 AWS 区域,请为 Amazon S3 使用虚拟私有云(VPC)端点。VPC 端点可以帮助提高整体性能并减少网络地址转换(NAT)的负载。

而且,您可以在没有互联网网关、NAT 设备或 VPN 连接的情况下私密连接到 VPC。VPC 中的实例不需要公有 IP 地址即可与资源(如 Amazon S3 桶)通信。当您使用 VPC 端点时,VPC 与 Amazon S3 之间的数据流量将在 AWS 网络上路由。

在地理位置相距较远的区域之间使用 S3 传输加速

如果 EC2 实例和 S3 桶在地理位置上距离较近,数据传输速度可能会更高。如果实例和桶位于地理位置相距较远的区域,请启用 Amazon S3 传输加速。传输加速会产生额外费用,因此请务必查看 Amazon S3 定价

要确定传输加速是否会提高您的用例的传输速度,请使用 Amazon S3 传输加速速度比较工具

升级 EC2 实例类型

EC2 实例 CPU 利用率高可能是影响传输速度的一个因素。您可以将实例升级到提供更高内存和网络性能的另一个实例类型。实例大小较大的实例类型通常会比实例大小较小的同类型的实例提供更好的网络性能。

**注意:**要在 EC2 实例和 Amazon S3 之间建立可靠的网络连接,请选择至少具有 10 GiBps 网络连接的实例类型。

使用分块传输

如果您要传输大型文件,分段上传和远程 GET 可以帮助提高整体传输性能。

相关信息

最佳做法设计模式:优化 Amazon S3 性能

AWS 官方
AWS 官方已更新 10 个月前