【发布时间】:2016-10-26 05:20:10
【问题描述】:
我们在 AWS EC2 中托管了一个 c4.8xlarge 类型的站点。这是一个相当大的系统,具有大量内存和计算资源。本周末,数千名用户在 2 小时内尝试访问该系统。虽然它没有崩溃,但速度变慢了很多,并且未能达到预期的水平。分析统计数据表明,有限的网络带宽是速度放缓的主要原因。 CPU 使用率保持在 6% 以下,但 NetworkIn 和 NetworkOut 在该时间段内似乎分别达到了 60MB 和 200MB 的峰值。虽然我不是网络期望,但一些在线阅读似乎表明通过一个 NIC 的所有流量可能是网络带宽有限的主要原因。这是真的?将站点托管在不同类型的 EC2 实例上是否有助于增加网络带宽?以下是重负载下 networkIn 和 networkOut 指标的样子。
【问题讨论】:
-
为什么只有一个实例?你可以水平缩放吗?
-
我可以而且可能我应该这样做。我了解与单个实例相关的风险,但该应用程序几乎没有商业价值,这些都是可以接受的风险。这是一年一次的事情。水平扩展以满足 CPU 或内存或存储限制是可以理解的,但为了获得更高的带宽而不得不这样做似乎很糟糕。 200MB NetworkIn 和 60MB NetworkOut 似乎太低了,可能是我错了。而且我什至不确定它是否每秒。 AWS CloudWatch 没有明确说明。
-
虽然您的实例确实具有 10 Gbit 网络接口,但不清楚它应该能够实现从 ec2 到 Internet 的性能,或者性能是否仅限于实例间通信。你得到的吞吐量约为 1.8 Gbps,开销。您是否启用了增强网络? docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
-
显然 AWS 默认以 60 秒为间隔测量带宽。所以一般来说,我真正从 ec2 实例中得到的峰值使用量是 1MB/秒 NetworkOut 和 3.3MB/秒 NetworkIn。哇!这是令人难以置信的低。仍然不确定如何解决它。 forums.aws.amazon.com/message.jspa?messageID=389391
-
@MikeBrant 如果您仍然需要通过具有类似甚至更低带宽限制的负载均衡器,水平扩展将如何提供帮助?
标签: amazon-web-services amazon-ec2 bandwidth