不会为 FileUploader 角色触发自动缩放
本文提供有关自动缩放未为 FileUploader 角色触发的问题的信息,尽管其中一个实例中的 CPU 使用率始终保持在 100%。
原始产品版本:API 管理服务
原始 KB 数: 4464899
注意
请参阅有关 Azure 云服务故障排除系列的文章,这是实验室的第三种方案。 请确保已按照压缩器应用程序的实验室设置说明操作,以重新创建问题。
现象
FileUploader 角色实例(FileUploader_IN_1)之一消耗了 100% 的 CPU,而在另外两个实例中,CPU 使用率是正常的。 根据实验室说明,你已根据“CPU 百分比”指标为 FileUploader 角色创建了自动缩放规则,但出于某种原因未触发。
来自所有实例的 CPU 利用率:
对步骤进行故障排除
如果仔细查看我们配置的自动缩放规则,则仅当所有角色实例的平均 CPU 使用率大于 90 时,才会触发该规则,在这种情况下不会发生。
{
"properties": {
"name": "Autoscale based on CPU metric",
"enabled": true,
"targetResourceUri": "/subscriptions/{subscription-id}/resourceGroups/cloudservicelab/providers/Microsoft.ClassicCompute/domainNames/cloudservicelabs/slots/Production/roles/FileUploader",
"profiles": [
{
"name": "Auto created scale condition",
"capacity": {
"minimum": "1",
"maximum": "4",
"default": "1"
},
"rules": [
{
"scaleAction": {
"direction": "Increase",
"type": "ChangeCount",
"value": "1",
"cooldown": "PT10M"
},
"metricTrigger": {
"metricName": "Percentage CPU",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/{subscription-id}/resourceGroups/cloudservicelab/providers/Microsoft.ClassicCompute/domainNames/cloudservicelabs/slots/Production/roles/FileUploader",
"operator": "GreaterThan",
"statistic": "Average",
"threshold": 90,
"timeAggregation": "Average",
"timeGrain": "PT5M",
"timeWindow": "PT30M"
}
}
]
}
],
"notifications": [],
"targetResourceLocation": "southcentralus"
}
}
为 Azure 云服务设置诊断,并检查 WADPerformanceCountersTable 中每个角色实例的 CPU 使用率。 还可以使用此 REST API 或 PowerShell 获取云服务角色的指标数据。
还可以从 云服务资源的“指标 ”选项卡中监视 FileUploader 角色的平均 CPU 使用率。 因此,如下图所示,平均 CPU 使用率约为 33.35%,远远低于阈值。
因此,底线是自动缩放规则,这些规则使用基于度量触发器属性(例如 CPU 使用率)的检测机制,使用随时间推移而不是即时值来触发自动缩放操作的聚合值。 默认情况下,聚合是角色的所有实例中的值的平均值。 因此,对于多个实例,每个 PaaS VM 都会报告 CPU 百分比的数字。 为了合并这些实例,云服务角色会计算所有实例的“统计信息”。 例如,如果云服务角色中有三个实例,一个实例在 30% CPU 上运行,第二个实例为 60%,另一个实例以 90% 的 CPU 运行,该角色将平均发出 60% 的 CPU 利用率。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。