Ish*_*aan 3 amazon-web-services autoscaling
我在 ELB 后面和 Auto Scaling 组中有两个 EC2 实例。放大政策如下:
CPUUtilization >= 70 持续 300 秒(添加一台服务器)
在进行 Atoscaling 活动时,现有实例上的负载已经达到 99%,并且连接正在下降。
有没有办法更有效地处理这个问题?
Auto Scaling 的诀窍在于定义可以准确识别系统负载的警报。
CPU 利用率并不总是适合使用的衡量标准——您的应用程序可能只能处理有限数量的连接,它可能会被挤在 RAM 上,并且请求的类型也可能会有所不同。
一个好主意是在高峰负载期间密切监视您的系统,以确定识别繁忙时段的准确信号(或者更好地帮助您预测即将到来的繁忙时段)。在您的单个实例上使用标准监控工具,例如监控可用内存、应用程序用户数量、事务数量等。
您可以使用普通的监控工具,也可以编写一些将指标推送到 Amazon CloudWatch 的内容,以便您超越 CloudWatch 通常提供的基本 CPU 和网络指标。您甚至可以使用负载均衡器的延迟指标在应用程序变慢时触发扩展(需要自定义代码)。
一旦您有可靠的信号来检测系统何时接近容量并需要横向扩展,您就可以专注于缩短添加新容量的时间。测量新实例启动并开始接受流量所需的时间。尝试通过使用完全配置的 AMI 而不是通过用户数据安装软件来减少启动时间。也许您可以删除或关闭实例上的服务以使其启动更快。尝试使用不同的 EBS 卷类型(例如,通用 SSD 可以突增至 3000 IOP)和不同的实例类型。
甚至可能更早地向外扩展(例如 50%)——与改进的用户服务相比,额外的费用可能很小。
您的目标应该是确保用户永远不会遇到服务缓慢或连接中断的情况。
| 归档时间: | 
 | 
| 查看次数: | 2565 次 | 
| 最近记录: |