我希望为在 AWS ECS 上运行的服务设置自动缩放。来自ECS Auto-Scaling docs它建议使用 SurgeQueueLength
来确定是否触发自动缩放事件。我们使用应用程序负载均衡器 which does not have this metric ,通过指标表来看,似乎没有什么是等价的。我是不是遗漏了什么,或者这只是目前 ALB 中缺少的功能?
最佳答案
免责声明:我没有使用应用程序负载均衡器的经验。我只是从 AWS 文档中得出这些事实。如需更多动手阅读,您可以阅读 the ALB section of this medium post
你是对的,在CloudWatch metrics for Application Load Balancers没有 SurgeQueueLength
。 this thread by an AWS employee 也证实了这一点,但是,这些指标可以用作 CloudWatch 指标来触发自动缩放:
TargetConnectionErrorCount
:IMO 这最符合SurgeQueueLength
,因为它表示 Loadbalancer 尝试打开到后端节点的连接但失败了HTTPCode_ELB_5XX_Count
:根据后端节点,这可能表明它们拒绝新连接,因为例如已达到最大连接数RejectedConnectionCount
:这是 AWS 员工在上面链接的 treadh 中建议的内容。 Buuut .. 文档说“由于负载均衡器已达到其最大连接数而被拒绝的连接数”这似乎更像是您无法真正影响的 aws 方面的限制(即 limits on ALBs 中未描述) )RequestCountPerTarget
:这是后端节点每分钟获得的平均连接数。当您在一段时间内跟踪它时,您可能能够评估“健康阈值”TargetResponseTime
:后端节点响应请求所需的秒数。另一个评估为“健康阈值”的候选者(即“您希望最终用户体验的最长响应时间是多少?”)
总的来说,您的问题似乎没有“明确的正确答案”,答案是“这取决于您的情况”。
问题本身就是:“为什么没有诸如 SurgeQueueLength 之类的队列指标”。这在文档中无处可寻。我猜这是因为 ALB 的设计与 ELB 不同或者它是一个尚未公开的指标。
关于amazon-web-services - 应用程序负载均衡器的 SurgeQueueLength 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43856103/