Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✔️ Linux VMs ✔️ Windows VMs
Resumo
Este artigo descreve a solução de problemas genéricos de desempenho da máquina virtual (VM) por meio do monitoramento e observação de gargalos e fornece possíveis soluções para problemas que podem ocorrer. Além do monitoramento, você também pode usar o Perfinsights, que pode fornecer um relatório com recomendações de melhores práticas e principais gargalos em torno de IO/CPU/Memória. Perfinsights está disponível para VMs Windows e Linux em Azure.
Este artigo explicará como usar o monitoramento para diagnosticar gargalos de desempenho.
Habilitar o diagnóstico de VM por meio do portal Azure
Para habilitar o diagnóstico de VM:
Vá para a Máquina Virtual (VM).
Na seção Monitoramento, selecione Configurações de diagnóstico.
Selecione uma conta de armazenamento e, em seguida, selecione Habilitar monitoramento no nível do convidado.
Exibir métricas da conta de armazenamento por meio do portal Azure (para disco não gerenciado)
Para as VMs que usam discos não gerenciados, o armazenamento é uma camada muito importante quando pretendemos analisar o desempenho de E/S. Para métricas relacionadas ao armazenamento, precisamos habilitar o diagnóstico como uma etapa adicional:
Identifique qual conta de armazenamento (ou contas) sua VM está usando selecionando a VM:
- No portal Azure, selecione sua VM.
- Em Configurações, selecione Disco e localize a conta de armazenamento em que o disco está salvo.
- Navegue até a conta de armazenamento e selecione Métricas.
Identificar gargalos de desempenho
Assim que terminarmos o processo de configuração inicial das métricas necessárias e habilitarmos o diagnóstico para a VM e a conta de armazenamento relacionada, podemos mudar para a fase de análise.
Acesse o monitoramento
No portal do Azure, selecione a VM Azure que você deseja investigar, selecione Metrics a seção Monitoring e selecione uma métrica.
Linhas do tempo de observação
Para identificar se você tem algum gargalo de recursos, revise seus dados. Se você achar que sua máquina está funcionando bem, mas foi relatado que o desempenho foi degradado recentemente, revise um intervalo de tempo de dados que englobe dados de métricas de desempenho antes da alteração relatada, durante e após o problema.
Verifique se há gargalo da CPU
- Defina o intervalo de tempo.
- Em Métrica, selecione Porcentagem da CPU.
Monitore as tendências de desempenho da CPU
Ao analisar problemas de desempenho, esteja ciente das tendências e entenda se elas o afetam. Nas próximas seções, usaremos os gráficos de monitoramento do portal para mostrar as tendências. Eles também podem ser úteis para referenciar diferentes comportamentos de recursos no mesmo período de tempo. Para personalizar os grafos, clique em Azure Monitor plataforma de dados.
Spiking – Spiking pode estar relacionado a uma tarefa agendada ou a um evento conhecido. Se você puder identificar a tarefa, determine se ela é executada no nível de desempenho necessário. Se o desempenho for aceitável, talvez não seja necessário aumentar os recursos.
Aumento Repentino e Constante – Geralmente indica um novo padrão de carga de trabalho. Se não for uma carga de trabalho reconhecida, habilite o monitoramento na VM para descobrir qual processo (ou processos) causa o comportamento. Depois que o processo for reconhecido, determine se o aumento do consumo está sendo causado por código ineficiente ou consumo normal. Se for consumo normal, decida se o processo opera no nível de desempenho necessário.
Constante – determine se sua VM sempre foi executada nesse nível ou se só foi executada nesse nível desde que os diagnósticos foram ativados. Em caso afirmativo, identifique o processo (ou processos) que está causando o problema e considere adicionar mais desse recurso.
Aumento constante – Um aumento constante no consumo geralmente é um código ineficiente ou um processo que exige mais carga de trabalho do usuário.
Correção de alta utilização da CPU
Se seu aplicativo ou processo não estiver sendo executado de forma ideal e o uso da CPU permanecer acima de 95%, você poderá executar uma das seguintes tarefas:
- Para alívio imediato - Aumente o tamanho da VM para um tamanho com mais núcleos
- Entenda o problema – localize o aplicativo/processo e solucione o problema de acordo.
Se você aumentou a VM e a CPU ainda está executando 95%, determine se essa configuração está oferecendo melhor desempenho ou maior taxa de transferência do aplicativo para um nível aceitável. Caso contrário, solucione o problema desse aplicativo\processo individual.
Você pode usar Perfinsights para Windows ou Linux para analisar qual processo está impulsionando o consumo de CPU.
Verificar se há gargalo de memória
Para ver as métricas:
- Adicione uma seção.
- Adicione um Bloco.
- Abra a Galeria.
- Selecione o uso de memória e arraste. Quando o bloco estiver encaixado, clique com o botão direito e selecione 6x4.
Monitorar tendências de desempenho de memória
O uso de memória mostra quanta memória está sendo consumida com a VM. Entenda a tendência e se ela mapeia o momento em que você vê problemas. Você sempre deve ter mais de 100 MB de memória disponível.
Pico e Consumo Constante/Constante Estável - A alta utilização de memória pode não ser a causa do baixo desempenho, pois alguns aplicativos, como mecanismos de banco de dados relacional, alocam uma grande quantidade de memória, e essa utilização elevada pode não ter impacto negativo. No entanto, se houver vários aplicativos com muita memória, você poderá observar um desempenho ruim devido à contenção de memória, causando corte e paginação/troca para o disco. Esse baixo desempenho geralmente é uma causa perceptível de impacto no desempenho do aplicativo.
Constantemente aumentando o consumo – Um possível aplicativo 'aquecendo', esse consumo é comum entre os mecanismos de banco de dados inicializando. No entanto, também pode ser um sinal de vazamento de memória em um aplicativo. Identifique o aplicativo e entenda se o comportamento é esperado.
Uso de arquivo de troca ou de paginação – verifique se os arquivos de paginação do Windows (localizados em D:) ou de troca do Linux (localizados em /dev/sdb) estão sendo muito utilizados. Se você não tiver nada nesses volumes além desses arquivos, verifique se há operações de leitura/escrita altas nesses discos. Esse problema é indicativo de condições de pouca memória.
Remediação de alto uso de memória
Para resolver a alta utilização de memória, execute qualquer uma das seguintes tarefas:
- Para alívio imediato ou uso de página ou arquivo de troca - Aumente o tamanho da VM para uma com mais memória e, em seguida, monitore.
- Entenda o problema – localize aplicativos/processos e solucione problemas para identificar aplicativos que consomem muita memória.
- Se você conhece o aplicativo, veja se a alocação de memória pode ser limitada.
Se depois de atualizar para uma VM maior, você descobrir que ainda tem um aumento constante constante até 100%, identifique o aplicativo/processo e solucione o problema.
Você pode usar Perfinsights para Windows ou Linux para analisar qual processo está impulsionando o consumo de memória.
Verificar se há gargalo de disco (para disco não gerenciado)
Para verificar o subsistema de armazenamento da VM, verifique o diagnóstico no nível da VM Azure usando os contadores no Diagnóstico de VM e também no Diagnóstico da Conta de Armazenamento.
Para a solução de problemas específica da VM, você pode usar Perfinsights para Windows ou Linux, o que pode ajudar a analisar qual processo está conduzindo a E/S.
Observe que não temos contadores para Contas de Armazenamento Redundante de Zona e Contas de Armazenamento Premium. Para questões relacionadas a esses contadores, abra um caso de suporte técnico.
Visualização de diagnósticos da conta de armazenamento no monitoramento
Para trabalhar nos itens abaixo, acesse a conta de armazenamento da VM no portal:
- Defina o intervalo de tempo.
- Defina Metric Namespace como Blob.
- Defina Métrica como Disponibilidade.
Monitorar tendências de desempenho do disco (somente armazenamento padrão)
Para identificar problemas com armazenamento, observe as métricas de desempenho do diagnóstico de conta de armazenamento e do diagnóstico de VM.
Para cada verificação abaixo, procure as principais tendências quando os problemas ocorrerem dentro do período relevante para o problema.
Verificar a disponibilidade de armazenamento no Azure – Adicionar a métrica de disponibilidade à conta de armazenamento: disponibilidade
Se você vir uma queda na disponibilidade, pode haver um problema com a plataforma, verifique o Azure Status. Se nenhum problema for mostrado lá, abra uma nova solicitação de suporte.
Para verificar o tempo limite do armazenamento do Azure – Adicionar as métricas da conta de armazenamento
- ClientTimeOutError
- ServerTimeOutError
- LatênciaMédiaE2E
- LatênciaMédiaDoServidor
- Solicitações Totais
Os valores nas métricas *TimeOutError indicam que uma operação de I/O demorou muito e atingiu o tempo limite. Seguir as próximas etapas ajudará a identificar possíveis causas.
AverageServerLatency aumenta simultaneamente com os Erros de TimeOut, pode ser um problema de plataforma. Faça uma nova solicitação de suporte nessa situação.
AverageE2ELatency representa a latência do cliente. Verifique como o IOPS é executado pelo aplicativo. Procure um aumento ou uma métrica de TotalRequests que esteja constantemente alta. Essa métrica representa IOPS. Se você está atingindo os limites da conta de armazenamento ou do VHD único, a latência pode estar relacionada à limitação de recursos.
Verificar limitação de armazenamento do Azure – Adicionar métricas da conta de armazenamento: ThrottlingError
Os valores de limitação indicam que você está sendo limitado no nível da conta de armazenamento, o que significa que você está atingindo o limite de IOPS da conta. Você pode determinar se está atingindo o limite de IOPs verificando a métrica TotalRequests.
Observe que cada VHD tem um limite de 500 IOPS ou 60 MBits, mas está vinculado ao limite cumulativo de 20.000 IOPS por conta de armazenamento.
Com essa métrica, você não pode dizer qual blob está causando a limitação e quais são afetados por ela. No entanto, você está atingindo os limites de IOPS ou de entrada/saída da conta de armazenamento.
Para identificar se você está atingindo o limite de IOPS, entre no diagnóstico da Conta de Armazenamento e verifique o TotalRequests, observando se você está se aproximando de 20 mil TotalRequests. Identifique uma mudança no padrão, se você está vendo o limite pela primeira vez ou se esse limite ocorre em um determinado momento.
Com novas ofertas de disco no armazenamento Standard, os limites de IOPS e throughput podem diferir, mas o limite cumulativo da conta de armazenamento padrão é 20.000 IOPS (o armazenamento Premium tem limites diferentes na conta ou no nível do disco). Leia mais sobre diferentes ofertas de disco de armazenamento padrão e limites por disco:
Referências
A largura de banda da conta de armazenamento é medida pelas métricas da conta de armazenamento: TotalIngress e TotalEgress. Você tem limites diferentes para largura de banda, dependendo do tipo de redundância e das regiões:
- Metas de escalabilidade e desempenho das contas de Armazenamento Standard
- Metas de desempenho e escalabilidade para contas de armazenamento de blob de páginas premium
Verifique TotalIngress e TotalEgress em relação aos limites de entrada e saída para o tipo e região de redundância da conta de armazenamento.
Verifique os limites de taxa de transferência dos VHDs anexados à VM. Adicione as métricas de leitura e gravação de disco da VM.
Novas ofertas de disco no armazenamento Standard possuem diferentes limites de IOPS e de taxa de transferência (IOPS não são revelados por VHD). Observe os dados para ver se você está atingindo os limites de largura de banda combinada em MB do(s) VHD(s) no nível da VM utilizando leitura e gravação em disco. Em seguida, otimize a configuração de armazenamento da sua VM para escalar além dos limites de um VHD único. Leia mais sobre diferentes ofertas de disco de armazenamento padrão e limites por disco:
Alta utilização de disco/remediação de latência
Reduza a latência do cliente e otimize a E/S da VM para escalar além dos limites de VHD
Reduza o controle de fluxo
Se atingir os limites superiores das contas de armazenamento, redistribua os arquivos VHD entre as contas de armazenamento. Consulte Armazenamento do Azure metas de escalabilidade e desempenho.
Aumente a taxa de transferência e reduza a latência
Se você tiver um aplicativo sensível à latência e exigir alta taxa de transferência, migre seus VHDs para Azure armazenamento Premium usando a VM das séries DS e GS.
Estes artigos discutem os cenários específicos: