不会为 FileUploader 角色触发自动缩放

本文提供有关自动缩放未为 FileUploader 角色触发的问题的信息,尽管其中一个实例中的 CPU 使用率始终保持在 100%。

原始产品版本:API 管理服务
原始 KB 数: 4464899

注意

请参阅有关 Azure 云服务故障排除系列的文章,这是实验室的第三种方案。 请确保已按照压缩器应用程序的实验室设置说明操作,以重新创建问题。

现象

FileUploader 角色实例(FileUploader_IN_1)之一消耗了 100% 的 CPU,而在另外两个实例中,CPU 使用率是正常的。 根据实验室说明,你已根据“CPU 百分比”指标为 FileUploader 角色创建了自动缩放规则,但出于某种原因未触发。

来自所有实例的 CPU 利用率:

CPU 使用率的屏幕截图,其中显示FileUploader_IN_0实例消耗了 3% 的 CPU。

CPU 使用率的屏幕截图,其中显示了FileUploader_IN_1实例消耗 100% 的 CPU。

CPU 使用率的屏幕截图,其中显示FileUploader_IN_2实例消耗了 3% 的 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%,远远低于阈值。

FileUploader 角色的平均 CPU 使用率的屏幕截图。

因此,底线是自动缩放规则,这些规则使用基于度量触发器属性(例如 CPU 使用率)的检测机制,使用随时间推移而不是即时值来触发自动缩放操作的聚合值。 默认情况下,聚合是角色的所有实例中的值的平均值。 因此,对于多个实例,每个 PaaS VM 都会报告 CPU 百分比的数字。 为了合并这些实例,云服务角色会计算所有实例的“统计信息”。 例如,如果云服务角色中有三个实例,一个实例在 30% CPU 上运行,第二个实例为 60%,另一个实例以 90% 的 CPU 运行,该角色将平均发出 60% 的 CPU 利用率。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区