【发布时间】:2018-10-02 09:49:50
【问题描述】:
我遇到了一个问题,即通过 aws cli 向 AWS S3 上传和下载的速度非常慢。非常慢是指 211k 文件持续大约需要 2.3 秒,这表明平均下载速度低于 500Kb/s,这对于这么小的文件来说非常慢。我的 web 应用严重依赖内部 API,我已经缩小了 API 的大部分往返性能主要与从 S3 上传和下载文件有关。
一些细节:
- 在 AWS 托管的 EC2 实例上使用最新版本的 aws cli(aws-cli/1.14.44 Python/3.6.6、Linux/4.15.0-34-generic botocore/1.8.48)
- 实例正在运行最新版本的 Ubuntu (18.04)
- 实例位于区域 ap-southeast-2a(悉尼)
- 实例通过最低权限策略(即它需要访问的存储桶的最低权限)被授予对 S3 的基于角色的访问权限
- 类型为 t2.micro,其 Internet 带宽应为 ~60Mb 左右
- S3 存储桶位于 ap-southeast-2 中
- 加密(默认)和未加密文件的结果相同
- 文件的结果相同,无论对象名称中是否包含随机的字母数字字符集合
- 此问题始终存在,即使在多次 cp 尝试和重新启动后,cp 尝试始终需要 2.3 秒
- 这让我想知道是否 S3 或 EC2 实例(使用标准 Internet 网关)被限制了
- 我已经测试过使用 wget 从同一个实例将同一个文件下载到网络服务器,它需要 0.0008 秒(即 8 毫秒)
总结一下:
- 通过 AWS CLI 从 S3 下载文件需要 2.3 秒(即 2300 毫秒)
- 通过 wget 从网络服务器(> Internet > Cloudflare > AWS > LB > Apache)下载相同的文件需要 0.0008 秒(即 8 毫秒)
我需要提高 AWS CLI S3 下载性能,因为该 API 将来会被大量使用。
如有任何建议,我们将不胜感激。
【问题讨论】:
-
Ubuntu bug 1796469跟踪这个问题。
-
我认为您指的是 Josh 下面的问题,这与我的完全不同,但无论如何谢谢。
标签: amazon-web-services amazon-s3 aws-cli