我正在为在AWS ECS上运行的服务设置Auto-Scaling。根据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员工在上面链接的提示中建议的内容。 Buuut .. doc表示“由于负载平衡器已达到其最大连接数而被拒绝的连接数”,这似乎更像是aws方面的限制,您无法真正影响(即limits on ALBs中未描述)RequestCountPerTarget
:这是后端节点每分钟获得的平均连接数。在一段时间内跟踪时,您也许可以评估“健康阈值” TargetResponseTime
:后端节点响应请求所需的秒数。另一个评估为“健康阈值”的候选人(即“您希望最终用户体验的最大响应时间是多少?”)总体而言,您的问题似乎没有“明确正确的答案”,答案是“取决于您的情况”。
本身表明的问题是:“为什么没有诸如SurgeQueueLength之类的队列指标”。在文档中没有答案。我猜这是因为ALB与ELB的设计有所不同,还是因为它尚未公开。