Como solucionar problemas de desempenho da VM


Neste documento, você saberá como diagnosticar e mitigar problemas de desempenho da CPU, memória e armazenamento em instâncias de máquina virtual (VM, na sigla em inglês) do Compute Engine.

Antes de começar

Consultar métricas de desempenho

Para exibir as métricas de desempenho das VMs, use as métricas de observabilidade do Cloud Monitoring disponíveis no console do Google Cloud.

  1. No Console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. É possível consultar métricas de VMs individuais ou das cinco VMs que consomem mais recursos.

    Para visualizar métricas de VMs individuais, faça o seguinte:

    1. Clique no nome da VM que contém as métricas de desempenho que você quer exibir. A página de Detalhes da VM será aberta.

    2. Clique na guia Observabilidade para abrir a página Visão geral.

    Para consultar as métricas das cinco VMs que consomem mais recursos, clique na guia Observabilidade da página Instâncias de VM.

  3. Explore as métricas de desempenho da VM. Confira as seções Visão geral, CPU, Memória, Rede e Disco para consultar métricas detalhadas sobre cada tópico. Confira a seguir as principais métricas que indicam o desempenho da VM:

    • Na página Visão geral:

      • Utilização da CPU. A porcentagem de CPU usada pela VM.

      • Utilização de memória. A porcentagem de memória usada pela VM, exceto caches de disco. Nas VMs do Linux, isso também exclui a memória do kernel.

      • Tráfego de rede. A taxa média de bytes enviados e recebidos em intervalos de um minuto.

      • Novas conexões com VMs/externas/Google. O número estimado de fluxos TCP/UDP distintos em um minuto, agrupados por tipo de peering.

      • Capacidade de disco. A taxa média de bytes gravados e lidos em discos.

      • IOPS de disco. A taxa média de operações de leitura/gravação de E/S em discos.

    • Na página Resumo da rede:

      • Enviado para VMs/External/Google. A taxa de tráfego de rede enviada para serviços do Google, VMs e destinos externos, com base em uma amostra de pacotes. A métrica é dimensionada para que a soma corresponda ao tráfego de rede enviado total.

      • Recebido de VMs/externamente/Google. A taxa de tráfego de rede recebida de serviços do Google, VMs e fontes externas, com base em uma amostra de pacotes. A métrica é dimensionada para que a soma corresponda ao tráfego de rede total recebido.

      • Totais do pacote de rede. A taxa total de pacotes enviados e recebidos em intervalos de um minuto.

      • Tamanho médio do pacote. O tamanho médio dos pacotes, em bytes, enviados e recebidos em intervalos de um minuto.

      • Pacotes de entrada de firewall negados. A taxa de pacotes de rede de entrada enviados para a VM, mas não recebidos por elas, porque foram negados por regras de firewall.

    • Na página Desempenho de discos:

      • Tamanho médio da E/S.: o tamanho médio das operações de leitura e gravação de E/S em discos. Pequenas E/Ss aleatórias (4-16 KiB) geralmente são limitadas por IOPS e E/Ss sequenciais/grandes (256 KiB-1 MiB) por capacidade.

      • Comprimento médio da fila. O número de operações de E/S de disco em fila e em execução, também chamadas de profundidade de fila, para os cinco principais dispositivos. Para atingir os limites de desempenho dos discos permanentes, use uma alta profundidade de fila de E/S. Os discos permanentes são armazenados em rede e geralmente têm uma latência maior do que a de discos físicos ou SSDs locais.

      • Latência média de E/S. A latência média das operações de leitura e gravação de E/S agregadas em operações de todos os discos anexados à VM, medida pelo agente de operações na VM. Esse valor inclui a latência de processamento do sistema operacional e do sistema de arquivos, além de depender do comprimento da fila e do tamanho de E/S.

Entender as métricas de desempenho

O desempenho da VM é afetado pelo hardware em que a VM é executada, pela carga de trabalho executada na VM e pelo tipo de máquina da VM. Se o hardware não for compatível com a carga de trabalho ou o tráfego de rede da sua VM, o desempenho dela poderá ser afetado.

Desempenho da CPU e da memória

Detalhes de hardware

O desempenho da CPU e da memória é afetado pelas seguintes restrições de hardware:

  • Cada CPU virtual (vCPU, na sigla em inglês) é implementada como uma única multithread de hardware em um processador de CPU.
  • Os processadores de CPU Intel Xeon são compatíveis com várias linhas de execução de aplicativos em um único núcleo de processador.
  • As VMs que usam tipos de máquina C2 têm mapeamento fixo de núcleo virtual para físico e expõem a arquitetura de célula NUMA ao SO convidado.
  • A maioria das VMs recebe a frequência turbo em todos os núcleos listada nas plataformas de CPU, mesmo que apenas a frequência base seja anunciada para o ambiente convidado.
  • Os tipos de máquina com núcleo compartilhado usam a alternância de contexto para compartilhar um núcleo físico entre vCPUs para multitarefa. Eles também oferecem recursos de bursting em que a utilização da CPU de uma VM pode ultrapassar 100%. Para mais informações, consulte Tipos de máquina com núcleo compartilhado.

Para entender o desempenho da CPU e da memória de uma VM, consulte as métricas de desempenho para Utilização da CPU e Utilização da memória. Além disso, você pode usar métricas de processo para visualizar processos em execução no momento, atribuir anomalias no consumo de recursos a um processo específico ou identificar os consumidores de recursos mais caros da VM.

A utilização consistente da CPU ou da memória indica a necessidade de escalonar uma VM. Se a VM usar mais de 90% da CPU ou da memória de forma constante, mude o tipo de máquina da VM para um tipo de máquina com mais vCPUs ou memória.

Desempenho da rede

Detalhes de hardware

O desempenho da rede é afetado pelas seguintes restrições de hardware:

Para entender o desempenho da rede de uma VM, consulte as métricas de desempenho para Total do pacote de rede, Tamanho médio do pacote, Novas conexões com VMs/externas/Google, Enviadas para VMs/externas/Google, Recebidas de VMs/externas/Google e Pacotes de entrada de firewall negados.

Analise se os totais de pacotes de rede, o Tamanho médio do pacote e as Novas conexões com VMs/externos/Google são comuns para sua carga de trabalho. Por exemplo, um servidor da Web pode ter muitas conexões e pacotes pequenos, enquanto um banco de dados pode ter poucas conexões e pacotes grandes.

O tráfego de rede enviado de maneira consistente pode indicar a necessidade de alterar o tipo de máquina da VM para um tipo de máquina que tenha um limite de largura de banda de saída maior.

Se você observar um grande número de pacotes recebidos negados pelos firewalls, acesse a página Network Intelligence Firewall Insights no Console do Google Cloud para saber mais sobre as origens dos pacotes negados.

Acesse a página Firewall Insights

Se você acha que seu próprio tráfego está sendo negado incorretamente pelos firewalls, tente executar testes de conectividade.

Se a VM enviar e receber uma grande quantidade de tráfego de VMs em zonas ou regiões diferentes, modifique a carga de trabalho para manter mais dados em uma zona ou região a fim de aumentar a latência e diminuir os custos. Para mais informações, consulte "Preços da transferência de dados de saída VM-VM no Google Cloud" na página de preços. Se a VM enviar uma grande quantidade de tráfego para outras VMs na mesma zona, considere uma política de colocação compacta para alcançar baixa latência de rede.

Desempenho do armazenamento

Detalhes de hardware

O armazenamento é afetado pelas seguintes restrições de hardware:

  • O tamanho total de todos os discos permanentes combinados ao número de vCPUs determina o desempenho total do armazenamento. Se houver diferentes tipos de discos permanentes anexados a uma VM, o limite de desempenho do disco permanente SSD será compartilhado por todos os discos na VM. Para mais informações, consulte Desempenho do armazenamento em blocos.
  • Quando o disco permanente e o hiperdisco concorrem com o tráfego de transferência de dados de saída, 60% da largura de banda máxima da rede de saída é usada para o disco permanente e o hiperdisco, e os 40% restantes podem ser usados para a transferência de dados de rede de saída. Para mais informações, consulte Outros fatores que afetam o desempenho.
  • O tamanho de E/S e o desempenho da profundidade da fila dependem das cargas de trabalho. Talvez algumas cargas de trabalho não sejam grandes o suficiente para usar os limites de desempenho de E/S e de profundidade de fila completos.
  • O tipo de máquina de uma VM afeta o desempenho de armazenamento dela. Para mais informações, consulte Tipo de máquina e contagem de vCPUs.

Para entender o desempenho de armazenamento de uma VM, consulte as métricas de desempenho de Capacidade, Operações (IOPS), Tamanho de E/S, Latência de E/S e Comprimento da fila.

A capacidade do disco e as IOPS indicam se a carga de trabalho da VM está operando conforme o esperado. Se a capacidade ou as IOPS forem menores do que o máximo esperado no gráfico do tipo de disco, pode ser um sinal de problemas de desempenho do tamanho de E/S, comprimento da fila ou de latência de E/S.

O tamanho de E/S pode ser de 4 a 16 KiB para cargas de trabalho que exigem IOPS altas e baixa latência, e 256 KiB-1 MiB para cargas de trabalho que envolvem tamanhos de gravação sequenciais ou grandes. O tamanho de E/S fora desses intervalos indica problemas de desempenho de disco.

O tamanho da fila, também conhecido como profundidade, é um fator de capacidade e IOPS. Quando um disco tem um bom desempenho, o comprimento da fila precisa ser aproximadamente o mesmo que o recomendado para alcançar um determinado nível de capacidade ou IOPS, listado no gráfico Profundidade recomendada da fila de E/S.

A latência de E/S depende do comprimento da fila e do tamanho de E/S. Se o comprimento da fila ou o tamanho de E/S de um disco for alto, a latência também será alta.

Se alguma métrica de desempenho de armazenamento indicar problemas de desempenho de disco, siga pelo menos um destes procedimentos: