我在 EC2 实例(特别是 i3.8xlarge)上运行批处理计算作业,并将大型(10 GB)二进制文件上传到每个实例。我们办公室有“千兆位”(Century Link),我通常以 30-40 MBps 的速度将这些文件上传(通过 scp)到 EC2。本地机器是一个 RH7 Linux 机器。然而,我经常观察到一件奇怪的事情:上传速度急剧下降到 300-400 kBps。
- 我验证(通过 speedtest.net)网络运行良好
- 降低的上传速度总是 300-400 kBps
- 这种现象大约在一个月前开始
- 我可以同时从 Gnome 终端的不同选项卡将同一个文件上传到同一个实例(显然是不同的输出路径),我得到了很好的性能
- 上传通常会以不可预知的方式恢复良好的速度
所以瓶颈似乎与单个 scp 进程有关。亚马逊不宣传任何类型的上传限制。当我观察到这一点时,我们的网络人员会确认网络处于良好的工作状态。
我怀疑您的EBS 突发余额已用完。该博客链接为您提供了有关如何显示 EBS 卷爆发积分的说明。
卷类型页面有一些关于 EBS 和突发的信息。
简而言之,您积累了突发积分,并且当您大量使用磁盘时,您的积分就会用完。发生这种情况时,您将获得基准性能。磁盘越大,积分越多,积分用完的可能性就越小。您可以阅读各种文章(例如这篇文章)。
实例存储卷没有突发系统,这就是它们始终快速运行的原因。
这里的解决方案可能是将您的写入缓冲到实例存储,然后在后台将它们传输到 EBS 卷。rsync 可能是合适的。
好吧,所以我能够通过将文件写入板载 NVMe SSD 而不是 EBS 存储来“解决”(?)问题。不过,这没有任何意义。当然,EBS 具有比 300-400 kBps 更好的写入能力!