如何处理自动化过程中的网络流量突然升高



我有两个EC2实例在ELB后面和自动缩放组后面。规模策略如下:

cpuutilization> = 70持续300秒(添加一台服务器(

在进行图形活动时,现有实例的负载已经为99%,连接正在下降。

有什么方法可以更有效地处理此操作?

自动缩放的窍门是定义可以准确识别系统负载的警报。

CPU利用率并不总是可以使用的正确措施 - 您的应用程序可能只能处理有限数量的连接,它可能会在RAM上挤压,并且请求的类型也可能有所不同。

一个好主意是在峰值载荷期间密切监视系统以确定确定繁忙周期的准确信号(甚至更好,可以帮助您预测即将来临的繁忙期限(。在您的各个实例上使用标准监视工具,例如监视免费内存,应用程序用户的数量,交易次数等。

您可以使用普通的监视工具,也可以写一些将指标推向Amazon CloudWatch >的内容,以便您超越CloudWatch通常提供的基本CPU和网络指标。您甚至可以使用LOAD BALANCER的延迟度量标准在应用程序放慢时触发缩放(需要自定义代码(。

有一个可靠的信号来检测系统何时接近容量并需要扩展,您就可以集中精力缩短添加新容量的时间。测量新实例启动并开始接受流量所需的时间。尝试通过使用完全配置的AMI来减少启动时间,而不是通过用户数据安装软件。也许您可以在实例上删除或关闭服务以使其启动更快。尝试使用不同的EBS卷类型(例如通用SSD可以突发至3000 IOPS(和不同的实例类型。

也许甚至较早的扩展(例如50%( - 与对用户的改进服务相比,额外的费用可能很小。

您的目标应该确保用户永远不会使用缓慢的服务或删除连接。

检查实例的状态是否健康。通常,如果突然出现压倒性的流量,实例/容器实例会进入不健康/排水的静态。
在这种情况下,制定了自动化策略,以检测删除的最低数字健康实例,并因此将实例扩展到至少50%的最低阈值。例如,运行30个健康实例的系统突然降至25,然后自动估计到其他45个实例,以便可以处理突然的尖峰。稍后,随着流量冷却,您的规模缩小了对CPU等指标的策略,内存可以使这些45个实例降低到所需的数字。

最新更新