我试图第一次使用Scale Rule并试图摆弄"存储队列"资源.在尝试设置选项时,我在"时间聚合"中看到以下选项:最小值,最大值,平均值,总计和最后一个.我学到的是从TimeAggregation中选择的值将用于指定的"持续时间",并将与指定的"阈值"进行比较.但是我无法理解它将尝试做的数据的采样间隔是多少.还要考虑以下示例:
假设我有以下规则:如果AppxMsgCount> = 15,则将实例计数增加3,其中,Threshold = 15且时间聚合设置为"Average"
系统状态:AppxMsgCount = 20当前实例计数= 2
因此,第一次使用上述系统状态启动自动调节时,实例计数会增加到5.
现在,随着增加的实例,AppxMsgCount应该下降?我的预感说它一定是,但那应该是什么数学呢?是20*2/5吗?
第二件事其他选项在这里意味着什么,何时应该使用它们 - 即我何时应该使用总数与什么时候应该使用平均值?
如果我可以获得一些链接以供参考,将会很有帮助.
这些属性共同作用如下:每个“ timeGrain”都会计算“ metricName”的“ statistic”。每个“ timeGrain”自动缩放将获取先前“ timeWindow”数据量的“ timeAggregation”,并将其与基于“运算符”的“阈值”进行比较。使用下面的特定示例,这意味着:
每分钟将计算CPU百分比的平均值。每分钟,自动缩放将获取前5分钟数据的平均值,并检查其是否大于60%。如果是,它将触发缩放规则。
"rules": [{
"metricTrigger": {
"metricResourceUri": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', 'myScaleSet')]",
"metricName": "Percentage CPU",
"timeGrain": "PT1M",
"statistic": "Average",
"timeWindow": "PT5M",
"timeAggregation": "Average",
"operator": "GreaterThan",
"threshold": 60
},
Run Code Online (Sandbox Code Playgroud)
注意:对于单个VM,CPU百分比只是一个数字。但是,如果设置了比例,则每个VM都会报告一个CPU百分比数字。为了合并这些数据,规模集计算所有虚拟机的“统计”。例如,让我们想象一下,“统计”为“最大值”,“ timeGrain”为1分钟,“ timeAggregation”为“平均值”,“ timeWindow”为5分钟。这意味着,比例集每分钟在该比例集中的所有VM上发出最大CPU百分比。例如,如果在缩放比例集中有两台VM,其中一台以0%CPU运行,另一台以90%CPU运行,则在这一分钟内,缩放比例集将最多发射90%。然后,自动缩放将平均这些最大值的最后5分钟并将其与阈值进行比较。
希望这会有所帮助!这有点令人困惑,并且信息分布在不同的文档页面上,所以我在这里整理了一个关于自动缩放比例集基础的快速入门博客:https : //negatblog.wordpress.com/2018/07/06/autoscaling-scale基于度量的集/。希望它是有用的:)
干杯,尼尔
以下链接是 Microsoft 文档的链接,了解有关以下方面的最佳实践autoscale: https: //learn.microsoft.com/en-us/azure/monitoring-and-diagnostics/insights-autoscale-best-practices
不过,我也会尝试回答您的上述问题。
1)我相信您可以设置一个比例选项,以确定何时减少实例数量。在以前的版本中,不存在缩放选项,我相信一旦不再触发限制,它就会缩小到初始实例数量。即低于 15ApxMsgCount
2)对此不太确定,根据我的经验,我一直使用总体指标而不是平均值,但我认为平均值最好在特定时间范围内使用。
希望这会有所帮助
| 归档时间: |
|
| 查看次数: |
901 次 |
| 最近记录: |