【问题标题】:Troubleshoot slow download speed on aws ec2解决 aws ec2 上下载速度慢的问题
【发布时间】:2020-12-03 09:07:46
【问题描述】:

我在 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  * * *

我没有在运行时截断或杀死它,它就这样结束了。

【问题讨论】:

  • 一个答案是尝试pingtraceroute,因为它会显示到达下一跳所需的时间。
  • @MarkoE 感谢您的建议,我更新了我的问题。平说:Request timeout for icmp_seq 0, Request timeout for icmp_seq 1...
  • 响应时间似乎没有那么糟糕,但与我在 us-east-1 中看到的实例相比,它们几乎是两倍。这可能是因为物理距离。它之前是否工作得更好并开始像这样工作,或者你从一开始就遇到同样的问题?
  • @MarkoE 一开始,它工作得很好,然后问题开始发生。另一个有趣的事情是,这个问题似乎在晚上(巴黎时间 18:00)消失了,我的下载速度是 300BK 而不是 10KB,然后在第二天晚上,问题又出现了。

标签: amazon-web-services networking amazon-ec2 scp


【解决方案1】:

AWS 中唯一的网络带宽限制与 EC2 实例的实例类型有关。

一般规则是较小的实例具有较少的带宽。这是因为分配给主机的网络容量是在该主机上运行的实例之间分配的。如果主机运行许多小型实例,则为每个实例分配较少的带宽。

这可以在启动 EC2 实例时看到。 网络性能显示为:

  • t3a.medium:高达 5 Gb
  • t2.small:低到中等
  • c5d.large:高达 10 Gb

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

但是,真正的问题可能是由于您的远程位置,从法国访问东京服务器。此流量通过 Internet 传输,跳数很多,控制很少。

您可以尝试使用AWS Global Accelerator 来转移流量以使用全球亚马逊网络。这将消除很多网络可变性。

【讨论】:

  • 我建议利用 AWS S3 存储桶而不是 EC2 来存储文件。这样,它将提供一致的性能,如果需要,可以使用 AWS Cloudfront 对其进行增强以提高性能。由于其 AZ 功能,S3 解决方案将更便宜且更可靠。如果您可以启用多区域复制,它也将准备好灾难恢复。借助 IAM 策略,可以提供精细的安全性。整体解决方案成为充分证明。
  • 哦,这是个好主意!不要复制到 EC2,而是复制到 S3(可能使用 aws s3 sync)。然后,在 S3 和 EC2 之间传输数据非常快。
  • @RobinVarghese 感谢您推荐 S3。我使用此服务器的方式是执行查询,然后将其显示在 sql 客户端中,或者将数据显示为图表。有了这些下载速度,如果结果超过 1000 行,仅获取数据可能需要几分钟。我使用scp 只是为了调查下载速度。
  • @RobinVarghese 我想我可以设置数据库复制或复制数据的作业。但是为了解决慢速连接而设置它似乎有点过头了。
  • @JohnRotenstein 添加 AWS Global Accelerator 解决了我的下载缓慢问题。使用它时,我得到 1.2 到 2MB/s 的下载和上传。所以我想问题出在我的路由器和 aws 云之间的链接上,我认为 AWS Accelerator 基础设施绕过了这个问题。
猜你喜欢
  • 2021-08-15
  • 1970-01-01
  • 2022-01-12
  • 2020-12-27
  • 2021-04-12
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
  • 1970-01-01
相关资源
最近更新 更多