解决AWS EC2上的缓慢下载速度

问题描述

我在ap-northeast-1a上有8个实例。类型为t3a.medium,t2.small和c5d.large。我在ap-northeast-1d可用区中也有一个t2.small。

到达这些实例的任何Internet连接确实很慢。 例如,如果我尝试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

我还尝试将本地Internet连接更改为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吉比特
  • t2.small:从低到中等
  • c5d.large:最多10吉比特

因此,请注意,结果可能会因实例类型而异。

但是,真正的问题很可能是由于您的远程位置从法国访问东京服务器所致。这种流量是通过Internet进行的,具有很多跃点,而且控制很少。

您可以尝试使用将流量转移的AWS Global Accelerator来使用全局Amazon网络。这样可以消除很多网络可变性。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...