Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

Corrigir problemas de query

Nesta página

  • Condições de alerta
  • Gatilhos comuns
  • Corrigir o problema imediato
  • Implemente uma solução a longo prazo
  • Monitore seu progresso

Query Targeting os alertas geralmente indicam queries ineficientes.

Você pode configurar as seguintes condições de alerta na página de configurações de alerta no nível de projeto para acionar alertas.

Query Targeting: Scanned Objects / Returned Os alertas são acionados quando o número médio de documentos digitalizados em relação ao número médio de documentos retornados em todo o servidor em todas as operações durante um período de amostragem excede um limite definido. O alerta padrão usa um limite de 1000:1.

Idealmente, a proporção de documentos digitalizados para documentos devolvidos deve ser próxima de 1. Uma proporção alta impacta negativamente o desempenho da query.

Query Targeting: Scanned / Returned ocorre se o número de chaves de índice examinadas para atender a uma query em relação ao número real de documentos retornados atender ou exceder um limite definido pelo usuário. Este alerta não está habilitado por padrão.

Exemplo

A seguinte entrada de registro de mongod mostra estatísticas geradas a partir de uma query ineficiente:

<Timestamp> COMMAND <query>
planSummary: COLLSCAN keysExamined:0
docsExamined: 10000 cursorExhausted:1 numYields:234
nreturned:4 protocol:op_query 358ms

Esta query digitalizou 10.000 documentos e devolveu apenas 4 para uma proporção de 2500, o que é altamente ineficiente. Nenhuma chave de índice foi examinada, então o MongoDB digitalizou todos os documentos da coleção, conhecida como uma verificação de collection .

O alerta de direcionamento de query geralmente ocorre quando não há índice para suportar uma query ou queries ou quando um índice existente suporta apenas parcialmente uma query ou queries.

Os cursores de fluxos de alterações que o processo do Atlas Search (mongot) usa para manter os índices do Atlas Search atualizados podem contribuir para a taxa de direcionamento de query e acionar alertas de direcionamento de query se a taxa for alta.

Adicione um ou mais índices para melhor atender às queries ineficientes.

O Performance Advisor fornece a maneira mais fácil e rápida de criar um índice. O Performance Advisor monitora as queries que MongoDB considera lentas e recomenda índices para melhorar o desempenho. O Atlas ajusta dinamicamente seu limite de consulta lenta com base no tempo de execução das operações em todo o cluster.

Clique em Create Index em uma query lenta para obter instruções de como criar o índice recomendado.

Observação

É possível receber um alerta de Direcionamento de Query para uma query ineficiente sem receber sugestões de índice do Performance Advisor se a query exceder o limite de query lenta e a proporção de documentos digitalizados para retornados for maior do que o limite especificado no alerta.

Além disso, você pode usar os seguintes recursos para determinar qual query gerou o alerta:

  • O Real-Time Performance Panel monitora e exibe o tráfego de rede atual e as operações de banco de dados em máquinas que hospedam o MongoDB em seus Atlas clusters.

  • Os registros do MongoDB mantêm uma conta da atividade, incluindo queries, para cada instância mongod em seus Atlas clusters.

  • O comando cursor.explain() para o mongosh fornece detalhes de desempenho para todas as queries.

  • O Namespace Insights monitora a latência de consulta no nível da coleção.

  • O Analisador de query Atlas registra as operações que o Atlas considera lentas quando comparadas ao tempo médio de execução de todas as operações em seu cluster.

Consulte o seguinte para obter mais informações sobre o desempenho da query:

O Atlas oferece os seguintes métodos para visualizar o direcionamento da query:

  • Métricas de Direcionamento de Query, que destacam altas proporções de objetos verificados em relação aos objetos retornados.

  • Namespace Insights, que monitora a latência de consulta no nível da coleção.

  • O Analisador de Query, que descreve queries específicas ineficientes executadas no cluster.

Você pode visualizar métricas históricas para ajudá-lo a visualizar o desempenho da query do seu cluster. Para visualizar Query Targeting métricas na IU do Atlas:

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. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

2
  1. Clique em View Monitoring no painel do cluster.

  2. Na página Metrics, clique no menu suspenso Add Chart e selecione Query Targeting.

O gráfico Query Targeting exibe as seguintes métricas para queries executadas no servidor:

Métrica
Descrição
Scanned Objects / Returned
Indica o número médio de documentos examinados em relação ao número médio de documentos devolvidos.
Scanned / Returned
Indica o número de chaves de índice examinadas para atender a uma query relativa ao número real de documentos devolvidos.

Os cursores de fluxos de alterações que o processo do Atlas Search (mongot) usa para manter os índices do Atlas Search atualizados podem contribuir para a taxa de direcionamento de query e acionar alertas de direcionamento de query se a taxa for alta.

Se uma dessas métricas exceder o limite definido pelo usuário, o Atlas gerará o alerta Query Targeting: Scanned Objects / Returned ou Query Targeting: Scanned / Returned correspondente.

Observação

Você também pode visualizar Query Targeting proporções de operações em tempo real usando o Real-Time Performance Panel.

O Namespace Insights monitora a latência de consulta no nível da coleção. Você pode visualizar métricas e estatísticas de latência de consultas para determinados hosts e tipos de operação. Gerencie namespaces fixos e escolha até cinco namespaces para mostrar nos gráficos de latência de consulta correspondentes.

Para acessar o Namespace Insights:

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. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

2
  1. Clique em View Monitoring no painel do cluster.

  2. Clique na aba Query Insights.

  3. Clique na aba Namespace Insights.

O Analisador de query contém várias métricas que você pode usar para identificar queries ineficientes específicas. Você pode visualizar até as últimas 24 horas de operações de query. O Analisador de query pode mostrar o Examined : Returned Ratio (chaves de índice examinadas para documentos retornados) das queries registradas, o que pode ajudá-lo a identificar as queries que acionaram um alerta Query Targeting: Scanned / Returned. O gráfico mostra o número de chaves de índice examinadas para atender a uma query em relação ao número real de documentos retornados.

Observação

A proporção de alerta padrão Query Targeting: Scanned Objects / Returned é ligeiramente diferente. A proporção do número médio de documentos digitalizados para o número médio de documentos retornados durante um período de amostragem aciona esse alerta.

O Atlas pode não registrar as operações individuais que contribuem para as taxas de Query Targeting devido aos limites definidos automaticamente. No entanto, você ainda pode usar o Query Profiler e as métricas Query Targeting para analisar e otimizar o desempenho da consulta.

Para acessar o Analisador de query:

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. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

2
  1. Clique em View Monitoring no painel do cluster.

  2. Clique na aba Query Insights.

  3. Clique na aba Query Profiler.

Voltar

Armazenamento