View a markdown version of this page

Alta utilização da CPU - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Alta utilização da CPU

A alta utilização da CPU é um dos problemas que você pode encontrar em algum momento ao trabalhar com o Amazon DocumentDB. Esta seção fornece informações para resolver o problema.

Identificação - Identifique o problema

A alta utilização da CPU nas instâncias do Amazon DocumentDB causa lentidão nos aplicativos ao aumentar as latências em todas as operações do banco de dados. Quando o uso da CPU do Amazon DocumentDB sobe acima dos níveis ideais, os tempos de execução das consultas aumentam, o estabelecimento da conexão leva mais tempo e a capacidade de resposta do aplicativo diminui. Os picos de CPU na instância primária diminuem as operações de gravação, enquanto os picos nas réplicas resultam em maior latência nas operações de leitura.

Algumas das causas comuns da alta utilização da CPU no Amazon DocumentDB podem ser:

  • Escaneamentos de coleção: consultas sem índices adequados forçam escaneamentos completos da coleção, consumindo CPU excessiva para examinar cada documento.

  • Picos de conexão: picos repentinos nas conexões de aplicativos sobrecarregam os recursos de CPU necessários para autenticação e gerenciamento de sessões.

  • Agregações complexas: as Multi-stage operações (classificação, agrupamento, união) consomem uma quantidade significativa de CPU, especialmente em grandes conjuntos de dados sem índices otimizados.

  • Consultas ineficientes: o alto uso da CPU resulta da verificação de grandes conjuntos de resultados e operações de regex.

  • Write-Heavy Cargas de trabalho: atualizações frequentes e inserções em massa sobrecarregam a CPU com processamento de documentos, atualizações de índices e registro de transações.

Investigue - Reúna métricas

O Amazon DocumentDB fornece monitoramento por meio da Amazon. CloudWatch As métricas do Amazon DocumentDB podem ser amplamente categorizadas em métricas de nível de cluster e nível de instância. Para recursos relacionados à CPU, memória e conexões, veja as métricas no nível da instância, pois o consumo de recursos é específico da instância. Identifique as instâncias (primárias ou de réplica) que estão mostrando os picos da CPU e anote os horários dos picos.

A CloudWatch métrica da utilização da CPU paraCPUUtilization.

Diagnosticar - Encontre a causa raiz

Depois de identificar a instância e o cronograma do pico da CPU, o próximo passo é diagnosticar a causa que está afetando o uso da CPU em geral. Como há vários motivos que podem causar picos de CPU, vamos identificar o que está contribuindo para isso, começando com:

Conexões: verifique CloudWatch as métricas, DatabaseConnections incluindo: se houver picos nas conexões e isso coincidir com o tempo de pico da CPU, o aumento nas conexões em um curto período de tempo provavelmente é a causa do pico da CPU. DatabaseConnectionsMax

Consultas: se não for a conexão, uma consulta pode ser a causa. Se você ativou o Performance Insights, acesse o console Performance Insights da instância e veja as consultas na instância. A outra coisa a se observar nas consultas é do profiler.

Resolver - Corrija o problema

Intermitências de conexão: se as rajadas de conexão forem a causa de picos de CPU, considere reutilizar conexões em seu aplicativo ou implementar o pool de conexões. Para obter mais informações sobre como otimizar conexões altas, consulteProblemas de conexão com o Amazon DocumentDB.

Distribuição de consultas: se os picos de CPU forem causados por consultas de leitura na instância primária, considere redirecionar as operações de leitura para instâncias de réplica se os resultados da consulta puderem ser consistentes.

Otimizações de consulta: se uma consulta ou um conjunto de consultas estiver causando picos na CPU, considere otimizar a consulta, como adicionar um índice se a consulta não estiver usando um. Para obter mais informações sobre como otimizar uma consulta, consulteConsulta em execução lenta.

Escalabilidade da instância: se a utilização da CPU permanecer consistentemente alta após os esforços de otimização, atualize para uma classe de instância maior com mais capacidade de CPU para lidar com seus requisitos de carga de trabalho de forma eficaz.

Sem servidor: para cargas de trabalho imprevisíveis que causam picos de CPU de curta duração, considere usar. Uso do Amazon DocumentDB Sem Servidor As instâncias sem servidor escalam automaticamente os recursos com base na demanda, eliminando a necessidade de provisionar tamanhos de instância fixos para essas cargas de trabalho.