应用程序负载均衡器的SurgeQueueLength等效值

3
我希望您能为在AWS ECS上运行的服务设置自动缩放。从ECS自动缩放文档中,建议使用SurgeQueueLength来确定是否触发自动缩放事件。我们使用的应用程序负载均衡器没有这个指标,查看度量表中似乎没有相当的指标。我是否遗漏了什么,还是ALB目前缺少此功能?
2个回答

4
免责声明:我没有应用负载平衡器的经验,我只是从AWS文档中推导出这些事实。如果您想更深入了解,可以阅读该Medium帖子的ALB部分
您说得对,在应用程序负载均衡器的CloudWatch指标中没有“SurgeQueueLength”。这也在AWS员工的论坛主题中进行了确认,但是,这些指标可能可以用作触发自动缩放的CloudWatch指标:
- TargetConnectionErrorCount:在我看来,这是最能对应SurgeQueueLength的指标,因为它表示负载均衡器试图向后端节点打开连接并失败了。 - HTTPCode_ELB_5XX_Count:根据后端节点,这可能表明它们拒绝新连接,因为例如他们的最大连接数已达到。 - RejectedConnectionCount:这是AWS员工在上面链接的主题中建议的。但是...文档说“由于负载均衡器已达到其最大连接数而被拒绝的连接数”,这似乎更像是AWS方面的限制,您不能真正影响它(即它没有在ALB限制中描述)。 - RequestCountPerTarget:这是后端节点每分钟收到的平均连接数。当您在一段时间内跟踪这个指标时,您可能能够评估出一个“健康门槛”。 - TargetResponseTime:后端节点需要回答请求的秒数。另一个可以作为“健康门槛”进行评估的候选指标(即“您希望最终用户体验的最大响应时间是多少?”)。
总体而言,似乎没有“明确正确的答案”来回答您的问题,而答案是“这取决于您的情况”。
自然引申出的问题是:“为什么没有诸如SurgeQueueLength之类的队列指标”。这在文档中没有回答。我猜这可能是因为ALB的设计与ELB不同,或者这只是尚未公开的指标。

1
只是补充一下:ALB不使用浪涌队列,因为AWS得出结论认为这实际上是一个坏主意(基于ELB反馈)。所以他们更喜欢拒绝连接并获得新的请求;而不是基本上排队请求并在客户端离开时处理它们:p - Tom

0

ALB的设计不同,没有SurgeQueueLengthSpillOver指标。来源:AWS工作人员。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接