amazon-web-services - 解决 aws ec2 上下载速度慢的问题
问题描述
我在 ap-northeast-1a 上有 8 个实例。类型为 t3a.medium、t2.small 和 c5d.large。我在 ap-northeast-1d 可用区也有一个 t2.small。
到达这些实例的任何互联网连接都非常慢。例如,如果我尝试scp
下载一个文件,我会获得大约 20KB/s 的下载速度,然后它会慢慢下降到大约 10kb/s。我的本地机器在法国。
scp my_user@production_server:/home/my_user/big_file .
big_file 192KB 12.7KB/s 02:19 ETA
ssh 连接也确实没有响应。例如,输出htop
需要几秒钟才能显示。
8 个实例中的一些具有弹性 ip,有些则没有。一个位于不同的可用区。对于所有这些,我的下载速度都很慢。一个有趣的事实是上传速度很快。我的速度在 1 到 2 MB/s 之间。
scp big_file my_user@production_server:/home/my_user
big_file 49% 3360KB 1.2MB/s 00:02 ETA
我还尝试将本地互联网连接更改为 4g 热点,并且行为是相同的。我认为这个问题与数据中心外的网络活动有关。
我不是网络专家,如何进一步解决这个问题?
编辑
我试着运行这个:
traceroute <my-server-ip>
它提供以下输出:
[first 13 lines look normal]
14 * * *
15 * * *
16 * * *
17 * 52.95.31.31 (52.95.31.31) 248.392 ms
52.95.31.59 (52.95.31.59) 247.997 ms
18 52.95.31.165 (52.95.31.165) 249.730 ms 262.213 ms
52.95.31.179 (52.95.31.179) 248.495 ms
19 * 52.95.31.208 (52.95.31.208) 246.955 ms *
20 52.95.31.130 (52.95.31.130) 249.471 ms 248.195 ms 250.721 ms
21 52.95.30.216 (52.95.30.216) 249.071 ms
52.95.30.220 (52.95.30.220) 247.704 ms 247.702 ms
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
31 * * *
32 * * *
33 * * *
34 * * *
35 * * *
36 * * *
37 * * *
38 * * *
39 * * *
40 * * *
41 * * *
42 * * *
43 * * *
44 * * *
45 * * *
46 * * *
47 * * *
48 * * *
49 * * *
50 * * *
51 * * *
52 * * *
53 * * *
54 * * *
55 * * *
56 * * *
57 * * *
58 * * *
59 * * *
60 * * *
61 * * *
62 * * *
63 * * *
64 * * *
我没有在运行时截断或杀死它,它就这样结束了。
解决方案
AWS 中唯一的网络带宽限制与 EC2 实例的实例类型有关。
一般规则是较小的实例具有较少的带宽。这是因为分配给主机的网络容量是在该主机上运行的实例之间分配的。如果主机运行许多小型实例,则为每个实例分配较少的带宽。
这可以在启动 EC2 实例时看到。网络性能显示为:
t3a.medium
: 高达 5 Gbt2.small
: 低到中等c5d.large
: 高达 10 Gb
因此,请注意结果可能因实例类型而异。
但是,真正的问题可能是由于您的远程位置,从法国访问东京服务器。此流量通过 Internet,具有许多跃点和很少的控制。
您可以尝试使用将流量转移到使用全球 Amazon 网络的AWS Global Accelerator。这将消除很多网络可变性。
推荐阅读
- python-3.x - 从另一个 df 更新多列 df
- php - PHP For 循环 jQuery UI 选项卡
- django - 如何在 Django 中返回 serializer.errors?
- javascript - 如何在量角器中读取 Gmail 或任何其他电子邮件提供商的电子邮件正文以获取登录网址和密码
- javascript - 坚持试图理解 JS 中的 Promise 是如何工作的
- oracle-apex - Apex - one buttons on same page, branching to different locations
- powershell - Monitor Domain Admins and Enterprise Admin Group
- javascript - How do I handle this TypeError: Cannot read property 'uri' of undefined
- c# - What is a Paragraph (Microsoft.Office.Interop.Word.Paragraph)
- c# - Why dataTable return an empty record with no data when using server side processing?