Menu Docs

Página inicial do DocsIniciar e gerenciar o MongoDBMongoDB Atlas

Monitore e melhore queries lentas

Nesta página

  • Motivos comuns para queries lentas
  • Acesso obrigatório
  • Configurar o limite de query lenta
  • Considerações sobre o índice
  • Acesse o Performance Advisor
  • Sugestões de Índices
  • Criar índices sugeridos

Disponível somente em clusters M10+ e instâncias sem servidor

O Performance Advisor monitora as queries que o MongoDB considera lentas e sugere novos índices para melhorar o desempenho das queries. O limite para queries lentas varia com base no tempo médio de operações no seu cluster para fornecer recomendações pertinentes ao seu volume de trabalho.

Os índices recomendados são acompanhados de consultas de amostra, agrupadas porforma de query , que foram executadas em uma coleção que se beneficiaria do índice sugerido. O Performance Advisor não afeta negativamente o desempenho do seu Atlas cluster.

Você também pode monitorar a latência da query em nível de collection com o Namespace Insights e o desempenho da query com o Analisador de Query.

Observação

Se uma query for lenta, as razões comuns incluem:

  • A query não é suportada pelos seus índices atuais.

  • Alguns documentos em sua coleção têm campos de array grandes que são caros para pesquisar e indexar.

  • Uma query recupera informações de múltiplas coleções com $lookup.

Para visualizar coleções com consultas lentas e ver índices sugeridos, você deve ter acesso Project Read Only ou superior ao projeto.

Para visualizar os valores de campo em uma query de amostra no Performance Advisor, você deve ter acesso Project Data Access Read/Write ou superior ao projeto.

Para ativar ou desativar o limite de operação lenta gerenciada pelo Atlas, você deve ter acesso Project Ownerao projeto. Os usuários com acesso Organization Owner devem se adicionar ao projeto como Project Owner.

Por padrão, o Atlas ajusta dinamicamente seu limite de consulta lento baseado no tempo de execução das operações em seu agrupamento. Contudo Você pode desativar esse recurso e, em vez disso, usar uma consulta lenta fixa limite de 100 milissegundos. Você pode desativar o gerenciado pelo Atlas limite de operação lenta com o Atlas CLI, API de administração do Atlas ou interface do usuário do Atlas.

Observação

Os clusters do Atlas com o Atlas Search ativado não são compatíveis com o limite de operação de query lenta gerenciada pelo Atlas.

Para clusters do M0, M2, M5 e instâncias sem servidor, o Atlas desabilita o limite de operação de consulta lenta gerenciada pelo Atlas por padrão e você não pode habilitá-lo.

Importante

Por padrão, o Atlas ajusta dinamicamente seu limite de query lenta com base no tempo de execução das operações em seu cluster. Se você desabilitar o limite de query lenta gerenciado pelo Atlas, ele não se ajustará mais dinamicamente. O MongoDB padroniza o limite fixo de query lenta para 100 milissegundos. Não recomendamos que você defina um limite fixo de query lenta inferior a 100 milissegundos.

Para desativar o limite de operação lento gerenciado por laser e usar um limite fixo de 100 milissegundos:

O Atlas ativa o limite de operação lenta gerenciado pelo Atlas por padrão. Para reativar o limite de operação lenta gerenciado pelo Atlas que você desativou anteriormente:

Os índices melhoram o desempenho de leitura, mas um grande número de índices pode afetar negativamente o desempenho de gravação, já que os índices devem ser atualizados durante as gravações. Se sua coleção já tiver vários índices, considere essa compensação de desempenho de leitura e gravação ao decidir se deseja criar novos índices. Examine se uma query para tal coleção pode ser modificada para aproveitar os índices existentes, bem como se uma query ocorre com frequência suficiente para justificar o custo de um novo índice.

O Performance Advisor exibe até 20 formas de query em todas as coleções no cluster e índices sugeridos para essas formas. O Performance Advisor classifica os índices de acordo com o seu Impact, o que indica High ou Medium com base nos bytes desperdiçados totais lidos. Para saber mais sobre a classificação do índice, consulte Revisar a classificação do índice.

O Performance Advisor classifica os índices que ele sugere de acordo com seu Impact, o que indica High ou Medium com base no total de bytes desperdiçados lidos. Para saber mais sobre como o Performance Advisor classifica os índices, consulte Revisar classificação do índice.

Para saber como criar índices que o Performance Advisor sugere, consulte Criar índices sugeridos.

Cada índice que o consultor de desempenho sugere contém as seguintes métricas. Estas métricas se aplicam especificamente a queries que seriam melhoradas pelo índice:

Métrica
Descrição
Execution Count
Número de queries executadas por hora que seriam melhoradas.
Average Execution Time
Tempo médio de execução atual em milésimos de segundo para queries afetadas.
Average Query Targeting
Número médio de documentos lidos por documento retornado por queries afetadas. Uma pontuação de direcionamento de query mais alta indica um maior grau de ineficiência. Para obter mais informações sobre o direcionamento de queries, consulte Direcionamento de queries.
In Memory Sort
Número atual de queries afetadas por hora que precisavam ser classificadas na memória.
Average Docs Scanned
Número médio de documentos digitalizados.
Average Docs Returned
Número médio de documentos devolvidos.
Average Object Size
Tamanho Médio do Objeto.

Para cada índice sugerido, o Performance Advisor mostra as formas de query mais comumente executadas que o índice melhoraria. Para cada forma de query, o Performance Advisor exibe as seguintes métricas:

Métrica
Descrição
Execution Count
Número de queries executadas por hora que correspondem à forma de query.
Average Execution Time
Tempo médio de execução em milissegundos para queries que correspondem à forma de query.
Average Query Targeting
Número médio de documentos lidos para cada documento retornado por queries correspondentes. Uma pontuação de direcionamento de query mais alta indica um maior grau de ineficiência. Para obter mais informações sobre o direcionamento de queries, consulte Direcionamento de queries.
Average Docs Scanned
Número médio de documentos digitalizados.
Average Docs Returned
Número médio de documentos devolvidos.

O Performance Advisor também mostra cada query de amostra executada que corresponde à forma da query, com métricas específicas para essa query.

Cada sugestão de índice inclui uma pontuação de Average Query Targeting indicando quantos documentos foram lidos para cada documento retornado para as formas de query correspondentes do índice. Uma pontuação de 1 representa formas de query muito eficientes porque cada documento lido correspondeu à query e foi retornado com os resultados da query. Todos os índices sugeridos representam uma oportunidade para melhorar o desempenho da query.

Por padrão, o Performance Advisor sugere índices para todos os clusters na implantação. Para mostrar apenas índices sugeridos de uma coleção específica, use a lista suspensa Collection na parte superior do Performance Advisor.

Você também pode ajustar o intervalo de tempo que o Consultor de desempenho leva em consideração ao sugerir índices usando o menu suspenso Time Range na parte superior do Consultor de desempenho.

O Performance Advisor não pode sugerir índices para bancos de banco de dados MongoDB configurados para usar o formato de registro de data e hora do ctime . Como uma solução alternativa, configure o formato do carimbo de data/hora para tais bancos de dados para iso8601-utc ou iso8601-local. Para saber mais sobre formatos de carimbo de data/hora, consulte mongod --timeStampFormat.

O Performance Advisor analisa até 200.000 das linhas de log mais recentes do seu cluster.

Se um cluster experimentar um pico de atividade e gerar uma quantidade extremamente grande de mensagens de log, o Atlas poderá parar de coletar e armazenar novos registros por um período de tempo.

Observação

Os limites da taxa de análise de log se aplicam somente à interface do usuário do Performance Advisor, à interface do Query Insights, à interface do Access Tracking e à interface do Atlas Search Query Analytics. Os arquivos de log para download estão sempre completos.

O Performance Advisor não fornece sugestões de desempenho para coleções de séries temporais.

O Performance Advisor inclui um botão de feedback do usuário para sugestões de índice. O Atlas oculta esse botão para instâncias sem servidor.

Você pode criar índices sugeridos pelo Performance Advisor diretamente no Performance Advisor. Ao criar índices, tenha em mente a proporção de leituras e gravações na collection de destino. Os índices têm um custo de desempenho, mas valem mais do que o custo para queries frequentes em grandes conjuntos de dados. Para saber mais sobre estratégias de indexação, consulte Estratégias de indexação.

  • Não é possível criar índices por meio do Performance Advisor se o Data Explorer estiver desativado em seu projeto. Você ainda pode visualizar as recomendações do Performance Advisor, mas precisa criar esses índices a partir de mongosh.

  • Você só pode criar um índice por vez por meio do Performance Advisor. Se quiser criar mais simultaneamente, você pode fazer isso usando a UI do Atlas, um driver ou o shell

  • O Atlas sempre cria índices para todas os sistemas de banco de dados. Se você criar um índice enquanto visualiza o Performance Advisor para um único shard em um cluster fragmentado, o Atlas criará esse índice para todo o cluster fragmentado.

Para criar um índice sugerido:

1

O Performance Advisor abre a caixa de diálogo Create Index e preenche previamente o Fields com base no índice selecionado.

2i
{ <option1>: <value1>, ... }

Exemplo

O seguinte documento de opções especifica a opção unique e o name para o índice:

{ unique: true, name: "myUniqueIndex" }
3

Use o agrupamento para especificar regras específicas do idioma para comparação de cadeias de caracteres, como regras para letras maiúsculas e acentos. O documento de agrupamento contém um locale campo que indica o código de localidade da ICU , e pode conter outros campos para definir o comportamento de agrupamento.

Exemplo

O documento de opção de agrupamento a seguir especifica um valor de localidade de fr para um agrupamento de idioma francês:

{ "locale": "fr" }

Para revisar a lista de localidades compatíveis com o agrupamento do MongoDB, consulte a lista de idiomas e localidades. Para saber mais sobre as opções de compilação, incluindo quais estão habilitadas por padrão para cada localidade, consulte Agrupamento no manual MongoDB.

4

Importante

As compilações de índices contínuos são bem-sucedidas somente quando atendem a determinadas condições. Para garantir que a criação do índice seja bem-sucedida, evite os seguintes padrões de design que geralmente acionam um loop de reinicialização:

Observação

a UI do Atlas não suporta a criação de índices com uma compilação contínua para M0 clusters livres e M2/M5 clusters compartilhados. Você não pode construir índices com uma compilação móvel para instâncias sem servidor.

Para volumes de trabalho que não toleram a diminuição do desempenho devido às compilações do índice, considere a criação de índices de forma contínua.

Para manter a disponibilidade do cluster:

  • O Atlas remove um nó do cluster de cada vez, começando com um secundário.

  • Mais de um nó pode descer de cada vez, mas o Atlas sempre mantém a maioria dos nós online.

O Atlas cancela automaticamente a criação de índices contínuos que não são bem-sucedidos em todos os nós. Quando uma compilação de índice contínuo é concluída em alguns nós, mas falha em outros, o Atlas cancela a compilação e remove o índice de todos os nós nos quais foi criado com êxito.

No caso de um cancelamento contínuo da compilação do índice, o Atlas gera um evento de feed de atividades e envia um e-mail de notificação ao proprietário do projeto com as seguintes informações:

  • Nome do cluster no qual a criação do índice contínuo falhou

  • Namespace no qual a construção do índice contínuo falhou

  • Projeto que contém o cluster e o namespace

  • Organização que contém o projeto

  • Link para o evento do feed de atividades

Para saber mais sobre a reconstrução de índices, consulte Construir índices em conjuntos de réplicas.

Observação

Único opções de índice são incompatíveis com a criação de índices de forma contínua. Se você especificar unique no painel Options , o Atlas rejeitará sua configuração com uma mensagem de erro.

5
6

Importante

Quando a construção de um índice é concluída, o Atlas gera uma lista de atividades de evento e envia um e-mail de notificação ao proprietário do projeto com as seguintes informações:

  • Data de conclusão da compilação do índice

  • Nome do cluster no qual a criação do índice foi concluída

  • Namespace no qual a criação do índice foi concluída

  • Projeto contendo o cluster e o namespace

  • Organização contendo o projeto

  • Link para o evento do feed de atividades

← Analisar queries lentas