问题描述
我正在测试aws自动缩放和其他相应的服务。
我有1个实例注册到目标组
自动伸缩组上的最小/所需实例为1。当CPU利用率高于50%时向上扩展
在负载测试期间,由于服务器响应时间增加,aws目标组无法进行运行状况检查,并开始耗尽服务于aws应用程序负载均衡器后面的1个实例。之后,自动伸缩组开始删除不正常的实例,并且我的Web服务出现故障。
应该发生的是,一旦服务器上的负载增加,aws自动伸缩组应立即剥离新的保险。
如果我将最小/所需服务器增加到2或4,则在负载测试中,所有结果均相同,所有服务器均会收到大量流量,目标组运行状况检查失败,并且标记所有服务器均不正常,并且aws asg开始在检测之前将其全部删除高CPU使用率并产生新实例。
在这里应该做什么?
解决方法
将实例添加到自动伸缩组的速度取决于执行策略中的警报设置。
在添加新主机之前,该值必须达到警报条件,在此之后,自动伸缩组grace period将授予一段时间,以评估实例运行状况以及评估警报是否发生再次。
如果要更快地扩展,则应考虑调整这些值,此外,如果需要扩展以使用可变数量的实例,请查看step scaling over simple scaling。
最后,在负载测试期间,尝试逐渐增加速度,而不是立即增加自然流量。这将使您的应用程序时间自然地扩展。