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:
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.
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.