'Max Cpu' está 100% normal?

'Max Cpu' está 100% normal?

Abaixo estão duas imagens do nosso 'Plano de Serviço de Aplicativo' do Azure, que hospeda nosso aplicativo. Recentemente, tentamos aumentar a escala, mas isso não resolveu o problema visto abaixo.

Nosso 'Max CPU' atinge o pico ao longo do dia, todos os dias... mas esta é a agregação MAX. Estes são picos transitórios. Enquanto isso, nossa agregação AVG de porcentagem de CPU é normal (segunda foto).

É esperado que haja picos transitórios no máximo da CPU, como visto na primeira imagem, ou isso é anormal?

Obrigado!

CPU máx. CPU máx.

CPU média CPU média

Responder1

É uma regra de agregação, não o uso real. Quando as métricas são coletadas, elas possuem (para CPU) uma única métrica: carga atual da CPU. Se as métricas forem coletadas 6 vezes por minuto, haverá 6 valores. Quando um intervalo grande é mostrado, geralmente não mostra todos os dados, mas realiza a agregação. Fe se a agregação for inferior a um intervalo de 10 minutos, todos os dados neste intervalo serão recolhidos em um número. Existem diferentes funções para fazer isso: min, max, avg, median, etc.

Uma distância é a média (seu segundo gráfico). Outra é mostrar o pico máximo encontrado nesse intervalo (seu primeiro caractere). A agregação nas médias tende a ocultar os picos, a agregação nos máximos tende a aumentar o uso dos picos de forma irracional. Se você tiver uma janela de agregação de 10 minutos e durante esse momento algum processo consumiu 100% por 0,1 segundo, e esse 0,1 segundo foi o momento em que as métricas foram coletadas, você terá um intervalo de 10 minutos de 100% de uso da CPU (quando 'máximo' agregação é usada).

Responder2

Isso depende muito do aplicativo em execução. Se estiver realizando um trabalho intensivo de CPU, provavelmente aumentará o uso da CPU o máximo possível. A diferença que você deve ver ao atualizar o hardware. É que as tarefas nas quais está trabalhando serão concluídas mais rapidamente.

Não sei nada sobre o aplicativo que você está tentando executar. E, portanto, não sei se é um aplicativo multithread que parece funcionar como deveria durante esses picos ou se é um aplicativo de thread único que parece travar durante o pico? No primeiro caso eu não me incomodaria muito. Mas, no segundo caso, eu provavelmente tentaria atualizar a CPU cada vez mais ou, se tivesse acesso ao código-fonte do aplicativo, tentaria ver se era possível otimizar a tarefa intensiva da CPU.

informação relacionada