Menu Docs
Página inicial do Docs
/
MongoDB Cloud Manager
/ /

Monitore e melhore queries lentas

Nesta página

  • Habilitar ou desabilitar o consultor de desempenho para um projeto
  • Motivos comuns para queries lentas
  • Considerações sobre o índice
  • Acesse o Performance Advisor
  • Sugestões de Índices
  • Criar índices sugeridos

O Performance Advisor monitora qualquer operação com um predicado de consulta que MongoDB considera lento e sugere novos índices para melhorar o desempenho da consulta. Para o host e o período de tempo selecionados, o Performance Advisor avalia até as 20,000 queries lentas mais recentes encontradas nos registros.

Os índices recomendados são acompanhados de queries de amostra, agrupadas por forma 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 Cloud Manager cluster.

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

Observação

Para visualizar o Performance Advisor, você deve:

  • Seja um usuário do Cloud Premium.

  • Execute MongoDB versão 3.2 ou posterior em seu cluster.

  • Gerencie seu cluster com a automação do agente MongoDB.

    Para saber mais sobre o Agente MongoDB, consulte Agente MongoDB.

Para visualizar os valores de campo nas queries de exemplo, você deve ser um usuário do Cloud Manager com uma ou mais das seguintes roles:

Os usuários sem as funções mencionadas acima não podem ver os valores dos campos.

Importante

Privilégios necessários

Para habilitar Performance Advisor para um projeto, você deve ter a role Project Owner no projeto.

O Performance Advisor está habilitado por padrão. Para desativar ou ativar o Performance Advisor:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Ao lado do menu Projects, expanda o menu Options e clique em Project Settings.

    A página Configurações do projeto é exibida.

2

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.

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 consultor de desempenho pode ajudar a identificar e remover índices desnecessários. Para saber mais, consulte Revisar recomendações de índice de queda.

Para acessar o Performance Advisor:

1
  1. Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Se a página Deployment ainda não estiver exibida, clique em Deployment na barra lateral.

    A página Sistema é exibida.

2

Se o conjunto de réplicas fizer parte de um cluster fragmentado, primeiro clique no cluster fragmentado que contém o conjunto de réplicas.

3
4

O Performance Advisor busca recomendações de índice das últimas 24 horas.

  • Se o Performance Advisor tiver recomendações, clique no botão View Recommendations na seção Create Indexes.

  • Se o Performance Advisor não tiver recomendações, para procurar recomendações de índice até os últimos 5 dias, clique em Explore Recommendations na seção Create Indexes.

O Performance Advisor classifica os índices de acordo com seu Impact, que é baseado no total de bytes desperdiçados lidos pelas operações associadas. Para saber mais sobre classificação de índice, consulte Avaliação de classificação de índice.

5

Filtre os resultados por qualquer uma das seguintes opções:

  • Filter by shards and hosts

  • Filter by namespace

  • Filter by time range

  • Filter by date and time

Observação

Se o log de consulta lento contiver estágios consecutivos $match no pipeline de agregação, os dois estágios podem se fundir no primeiro estágio $match e resultar em um único estágio $match. Como resultado, a forma de consulta no Performance Advisor pode ser diferente da consulta real que você executou.

O Performance Advisor classifica os índices de acordo com seu Impact, que é baseado no total de bytes desperdiçados lidos pelas operações associadas. 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 segmentação de query mais alta indica um maior grau de ineficiência. Para obter mais informações sobre segmentação de queries, consulte Segmentação 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.
Avgerage 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 segmentação de query mais alta indica um maior grau de ineficiência. Para obter mais informações sobre segmentação de queries, consulte Segmentação 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 dados MongoDB configurados para usar o formato de registro de data e hora ctime. Como solução alternativa, defina o formato do registro de data e hora para esses bancos de dados como iso8601-utc ou iso8601-local.

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 coleção de destino. Os índices têm um custo de desempenho, mas compensam o custo de queries frequentes em grandes conjuntos de dados. Para saber mais sobre estratégias de indexação, consulte Estratégias de indexação.

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

  • O Cloud Manager sempre cria índices no nível superior da implementação. Se você criar um índice enquanto visualiza o Performance Advisor para um único shard em um cluster fragmentado, o Cloud Manager 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.

2
{ <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 determinar regras específicas do idioma para comparação de strings, como regras para letras maiúsculas e acentos. O documento de agrupamento contém um campo locale que indica o código de localidade do ICUe pode conter outros campos para definir o comportamento do 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 suportadas pelo 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 do MongoDB.

4

Aviso

Devido a um problema crítico no SERVER-68925, as implementações do Cloud Manager que usam determinadas versões do MongoDB Agent não devem executar compilações automatizadas de índice contínuo em clusters que executem as seguintes versões do MongoDB :

  • MongoDB 4.2.19-4.2.22

  • MongoDB 4.4.13-4.4.16

  • MongoDB 5.0.6-5.0.11

  • MongoDB 6.0.0-6.0.1

Você pode continuar a executar construções de índices contínuas manuais com segurança em seus clusters. Para executar construções contínuas e automatizadas de índices com segurança, atualize o MongoDB Agent para 12.4.0.7703 ou posterior ou atualize seus clusters para:

  • MongoDB 4.2.23 ou posterior

  • MongoDB 4.4.17 ou posterior

  • MongoDB 5.0.12 ou posterior

  • MongoDB 6.0.2 ou posterior

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

O Data Explorer não oferece suporte à criação de índices de forma contínua para sistemas autônomos.

A criação de índices de forma contínua reduz o impacto no desempenho da criação de índices em conjuntos de réplicas e clusters fragmentados. Para manter a disponibilidade do cluster, o Cloud Manager remove um nó do cluster de cada vez, começando com um secundário.

Depois de criar um índice de forma contínua, se o banco de MongoDB database for executado com um FCV menor que 4.2, ressincronize o banco de dados head para garantir que o banco de dados head leve em consideração o novo índice.

O Cloud Manager 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 Cloud Manager 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 Cloud Manager gera um evento de lista 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 da lista de atividades

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

Observação

As seguintes opções de índice são incompatíveis com a criação de índices de forma contínua:

O Cloud Manager ignora essas opções se você as especificar no painel Options.

5
6

Importante

Quando uma compilação de índice é concluída, o Cloud Manager gera um evento de feed de atividade 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

Voltar

Analisar queries lentas