MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Analisando consultas lentas no MongoDB


Temos o prazer de anunciar ao público a disponibilidade de nosso analisador de consultas lentas para MongoDB! Com o analisador de consultas lentas, você pode identificar rapidamente consultas lentas em qualquer um dos seus servidores durante um determinado período de tempo. Por padrão, “consultas lentas” são definidas como consultas que demoram mais de 100 ms.



Mapa de calor de consulta lenta




O mapa de calor fornece uma visão geral rápida das consultas lentas em seu sistema. O eixo vertical do gráfico é o tempo exponencial. Isso significa que quanto mais alta a bolha estiver no gráfico, mais lenta será a consulta (por ordens de magnitude) – portanto, fique de olho nas bolhas que estão consistentemente no topo do gráfico. Você também pode clicar em uma bolha para ver os detalhes da consulta subjacente.

As consultas do mesmo tipo têm a mesma cor. Isso permite identificar facilmente padrões em suas consultas lentas. Você também pode selecionar partes do gráfico para ampliar em um intervalo de tempo específico.

Por exemplo. No exemplo acima, você pode ver um conjunto de pontos vermelhos que estão demorando mais de 10 segundos. Você também pode ver que um trabalho em segundo plano que está sendo executado uma vez por hora está levando 28 segundos para ser executado. Você pode clicar no ponto de dados para obter a consulta real.

Tabela de dados de consulta lenta


A tabela de dados de consulta lenta fornece uma visualização tabular de todos os dados de consulta lenta. As tabelas de dados exibem várias métricas importantes sobre suas consultas lentas:
  • Tipo - Tipo da consulta:consultar, inserir, atualizar, remover etc.
  • Banco de dados e coleção – O Db e a coleção da consulta
  • Consulta – A consulta real com os parâmetros de consulta removidos
  • Contagem – O número de vezes que a consulta foi executada no período de tempo selecionado
  • nDigitalizado – O número de entradas verificadas no índice + número de objetos verificados da coleção
  • Duração (ms) – O tempo médio de execução da consulta em ms
  • Tamanho da resposta (bytes) – O comprimento médio da resposta do resultado da consulta em bytes
  • nDevolvido - O número médio de documentos retornados por execução da consulta
  • Bloqueio de leitura (microssegundos) – O tempo médio de bloqueio de leitura em microssegundos
  • Bloqueio de gravação (microssegundos) – O tempo médio de bloqueio de gravação em microssegundos

Você pode classificar a tabela de consulta lenta por qualquer uma das colunas acima para criar a visualização de que precisa. Os dados da consulta também podem ser baixados no Excel para análise. Clique no link “Baixar dados como csv” para baixar os dados de consulta lenta e fazer sua análise personalizada no Excel.



Para identificar facilmente as consultas de problemas, fornecemos várias visualizações integradas.

Consultas lentas classificadas por "Mais frequentes"


Essa visão apresenta (em ordem decrescente) as consultas que são executadas com mais frequência no sistema. Você deseja prestar atenção especial às principais consultas da lista. Se o valor nScanned for alto ou a duração for alta, você precisará adicionar o índice apropriado para essa consulta. Isso reduz o número de documentos digitalizados do disco.

Consultas lentas classificadas por "Max Docs/Indexes Scanned"


Essa exibição apresenta (em ordem decrescente) as consultas que estão verificando a maioria das entradas de índice ou a maioria dos documentos em uma coleção. Um valor alto de 'nScanned' implica que você não tem um índice ou não tem o índice correto. Pode não ser possível adicionar um índice para cada consulta no sistema – mas você deve garantir que pelo menos suas consultas de alta frequência estejam bem indexadas.

Consultas lentas classificadas por "Consulta mais lenta"


Essa visualização apresenta (em ordem decrescente) as consultas que estão demorando mais para serem executadas. Se a consulta estiver sendo executada com pouca frequência, você poderá decidir se deseja otimizá-la.

Consultas lentas classificadas por "Max Docs retornados"


Essa visualização apresenta (em ordem decrescente) as consultas que estão retornando mais resultados. Retornar muitos resultados geralmente resulta em carga de rede no sistema. Você também deve garantir que está retornando apenas os campos necessários do documento e não todos os campos.

Consultas lentas classificadas por "Bloqueio de leitura"


Essa visualização apresenta (em ordem decrescente) as consultas que estão consumindo o tempo máximo de bloqueio de leitura em microssegundos. Se você estiver usando o mecanismo de armazenamento WiredTiger, isso normalmente não é um problema, pois o WiredTiger emprega bloqueio de nível de documento.

Consultas lentas classificadas por "Bloqueio de gravação"


Essa exibição apresenta (em ordem decrescente) as consultas que estão consumindo o tempo máximo de bloqueio de gravação em microssegundos. Se você estiver usando o mecanismo de armazenamento WiredTiger, isso normalmente não é um problema, pois o WiredTiger emprega bloqueio de nível de documento.