Azure 内存扩展不断抖动(而不是缩小)

问题描述 投票:0回答:2

我正在尝试在 Azure 上设置自动缩放功能,以便在 5 分钟平均内存超过 90% 时进行扩展。

这是 1 分钟内存使用情况的 24 小时图表:

enter image description here

我有一个 5 分钟平均内存从 1 到 2 的横向扩展规则。当 5 分钟平均内存低于 80% 时,我有一个缩减规则。不可否认,这是相当紧张的。然而,《永远》中的天平似乎从未起火,它总是通过“拍打”来阻止。考虑到上面的图表,肯定有几个地方可以缩小规模吗? (考虑到图表是 1 分钟平均值,我什至看不出在哪里会触发 5 分钟平均值来扩大规模)。

azure azure-web-app-service
2个回答
1
投票

我还发现,对于较小的实例大小,基于内存百分比进行扩展会变得很棘手;这是因为 Azure 无法识别所使用的大部分内存实际上专用于操作系统和其他基础设施......

在这里您可以找到非常详尽的解释:https://medium.com/@jonfinerty/flapping-and-anti-flapping-dcba5ba92a05.

似乎没有解决方法,我正在考虑放弃它(并且仅根据 CPU 进行横向扩展和收缩)。


0
投票

我希望您的问题得到解决,但发布我的答案是为了帮助更多的受众 您可以按照 Microsoft 提供的以下文档来更好地理解 https://learn.microsoft.com/en-us/azure/azure-monitor/autoscale/autoscale-best-practices#autoscale-best-practices

  1. 在您的情况下,CPU SCALE OUT RULE (90 %) 和 SCALE-IN RULE (80%) 之间的差异太窄。根据上述文档,它必须至少为 40%
  2. 对于 SCALE-OUT 和 SCALE-IN,您必须使用相同的一组条件:AVG CPU 和 AVG MEMORY。这意味着,如果您使用 2 个条件进行扩展,仅使用 1 个条件进行缩小,Azure 将无法了解天气情况来进行扩展或缩小,因此会出现闪烁警报
  3. 我建议你为 flutter 添加一封电子邮件提醒,以便你了解,由于 SCALE-IN 未正常发生而导致你烧了多少钱
© www.soinside.com 2019 - 2024. All rights reserved.