Compartir a través de


El escalado automático no se desencadena para el rol FileUploader

En este artículo se proporciona información sobre la solución de problemas en los que no se desencadena la escalabilidad automática para el rol FileUploader, aunque el uso de CPU en una de las instancias siempre permanece al 100 %.

Versión original del producto: API Management Service
Número de KB original: 4464899

Nota:

Consulte el artículo sobre la serie de solución de problemas de Azure Cloud Service; este es el tercer escenario del laboratorio. Asegúrese de que ha seguido las instrucciones de configuración del laboratorio para la aplicación Compressor según esto, para volver a crear el problema.

Síntomas

Una de las instancias de rol FileUploader (FileUploader_IN_1) consume un 100 % de CPU, mientras que en las otras dos instancias el uso de CPU es normal. Según la instrucción del laboratorio, ha creado una regla de escalado automático para el rol FileUploader basada en la métrica "Porcentaje de CPU", pero no se desencadena por algún motivo.

Uso de CPU de todas las instancias:

Captura de pantalla del uso de CPU que muestra FileUploader_IN_0 instancia consume un 3 % de CPU.

Captura de pantalla del uso de CPU que muestra FileUploader_IN_1 instancia consume un 100 % de CPU.

Captura de pantalla del uso de CPU que muestra FileUploader_IN_2 instancia consume un 3 % de CPU.

Pasos para solucionar problemas

Si examina cuidadosamente la regla de escalado automático que hemos configurado, indica que la regla se desencadenará solo si el uso medio de CPU de todas las instancias de rol es mayor que 90, lo que no sucede en este caso.

{
   "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"
   }
}

Configure los diagnósticos para Azure Cloud Services y compruebe el uso de CPU de cada instancia de rol de WADPerformanceCountersTable. También puede capturar datos de métricas para el rol de servicio en la nube mediante esta API REST o PowerShell.

También puede supervisar el uso medio de CPU del rol FileUploader desde la pestaña Métricas del recurso del servicio en la nube. Por lo tanto, como puede ver en el gráfico siguiente, el uso medio de la CPU es de alrededor del 33,35 % que está bastante por debajo del umbral.

Captura de pantalla del uso medio de CPU del rol FileUploader.

Por lo tanto, la conclusión es que las reglas de escalado automático que usan un mecanismo de detección basado en un atributo de desencadenador medido (como el uso de CPU) usan un valor agregado a lo largo del tiempo, en lugar de valores instantáneos, para desencadenar una acción de escalado automático. De forma predeterminada, el agregado es un promedio de los valores en todas las instancias del rol. Por lo tanto, en el caso de varias instancias, cada máquina virtual de PaaS notifica un número por porcentaje de CPU. Para consolidarlos, el rol de servicio en la nube calcula la "estadística" en todas las instancias. Por ejemplo, si hubiera tres instancias en un rol de servicio en la nube, una que se ejecuta con un 30 % de CPU, otra al 60 % y otra que se ejecuta con un 90 % de CPU, el rol emitiría un uso medio de CPU del 60 %.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.