不会为 FileUploader 角色触发自动缩放
本文提供有关以下问题的故障排除信息:FileUploader 角色未触发自动缩放,尽管其中一个实例中的 CPU 使用率始终为 100%。
原始产品版本:API 管理服务
原始 KB 编号: 4464899
注意
请参阅 Azure 云服务故障排除系列文章,这是实验室的第三个方案。 请确保已按照此针对压缩器应用程序的实验室设置说明重新创建问题。
症状
(FileUploader_IN_1) 的 FileUploader 角色实例之一占用 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% 的 CPU 运行,另一个实例以 90% 的 CPU 运行,该角色将发出 60% 的平均 CPU 使用率。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。