Partilhar via


O dimensionamento automático não é disparado para a função FileUploader

Este artigo fornece informações sobre como solucionar problemas em que o dimensionamento automático não é disparado para a função FileUploader, embora a utilização da CPU em uma das instâncias sempre permaneça em 100%.

Versão original do produto: Serviço de Gerenciamento de API
Número original do KB: 4464899

Observação

Consulte o artigo sobre a Série de Solução de Problemas do Serviço de Nuvem do Azure, este é o terceiro cenário do laboratório. Certifique-se de ter seguido as instruções de configuração do laboratório para o aplicativo Compressor de acordo com isso, para recriar o problema.

Sintomas

Uma das instâncias de função FileUploader (FileUploader_IN_1) está consumindo 100% da CPU, enquanto nas outras duas instâncias a utilização da CPU é normal. De acordo com as instruções de laboratório, você criou uma regra de dimensionamento automático para a função FileUploader com base na métrica "Porcentagem de CPU", mas ela não está sendo acionada por algum motivo.

Utilização da CPU de todas as instâncias:

Captura de tela da utilização da CPU mostrando FileUploader_IN_0 instância está consumindo 3% da CPU.

Captura de tela da utilização da CPU mostrando FileUploader_IN_1 instância está consumindo 100% da CPU.

Captura de tela da utilização da CPU mostrando FileUploader_IN_2 instância está consumindo 3% da CPU.

Etapas de solução de problemas

Se você examinar cuidadosamente a regra de dimensionamento automático que configuramos, ela dirá que a regra será disparada somente se a utilização média da CPU de todas as instâncias de função for maior que 90, o que não está acontecendo neste 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 o diagnóstico para os Serviços de Nuvem do Azure e verifique a utilização da CPU de cada instância de função em WADPerformanceCountersTable. Você também pode buscar dados de métrica para a função de serviço de nuvem usando essa API REST ou o PowerShell.

Você também pode monitorar a utilização média da CPU da função FileUploader na guia Métricas no recurso de serviço de nuvem. Então, como você pode ver no gráfico abaixo, a utilização média da CPU é de cerca de 33,35%, bem abaixo do limite.

Captura de tela da utilização média da CPU da função FileUploader.

Portanto, o resultado final é que as regras de dimensionamento automático que usam um mecanismo de detecção com base em um atributo de gatilho medido (como o uso da CPU) usam um valor agregado ao longo do tempo, em vez de valores instantâneos, para disparar uma ação de dimensionamento automático. Por padrão, a agregação é uma média dos valores em todas as instâncias da função. Portanto, no caso de várias instâncias, cada VM de PaaS relata um número para a porcentagem de CPU. Para consolidá-los, a função de serviço de nuvem calcula a "estatística" em todas as instâncias. Por exemplo, se houvesse três instâncias em uma função de serviço de nuvem, uma em execução com 30% de CPU, a segunda com 60% e outra em execução com 90% de CPU, a função emitiria uma utilização média de CPU de 60%.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.