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

Monitore e melhore queries lentas

Nesta página

  • 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 oMongoDB considera lento e sugere novosíndices do 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 dos clusters do Ops Manager.

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.

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
2

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

3
4
5

O Performance Advisor exibe até 20 formas de consulta 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 classificação de índice, consulte Avaliação de classificação de índice.

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 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 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.

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

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 Ops Manager sempre cria índices no nível superior do sistema. Se você criar um índice enquanto visualiza o Performance Advisor para um único shard em um cluster fragmentado, o Ops 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 68925MongoDB Ops Manager no SERVER- , as implementações 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 MongoDB versões do :

  • 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.0.11.7606 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 Ops 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 Ops 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 Ops 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 de compilação de índice contínuo, o Ops 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:

  • 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 Ops Manager ignora estas opções se você especificá-las no painel Options.

5
6

Importante

Quando uma construção de índice é concluída, o Ops 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:

  • 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