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

Corrigir problemas de pesquisa do MongoDB

A Pesquisa do MongoDB aciona O MongoDB Search alerta quando a quantidade de CPU e memória usada pelos processos da MongoDB Search atinge um limite especificado. Se o processo de pesquisa (mongot) ficar sem memória, a indexação e as queries falharão. Você pode configurar as condições de alerta do MongoDB Search no modal de configurações de alerta do projeto. Você também pode visualizar métricas do MongoDB Search com monitoramento de cluster.

AVISO: Se você fragmentar uma coleção que já possui um índice do MongoDB Search, pode experimentar um breve período de resultados de pesquisa incompletos enquanto o índice está sendo construído em um fragmento. Além disso, se você adicionar um fragmento a uma coleção fragmentada que contém um índice do MongoDB Search, suas queries de pesquisa contra essa coleção podem retornar resultados incompletos até que a sincronização inicial seja concluída nos fragmentos adicionados. Para saber mais, consulte processo de sincronização inicial.

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

Atlas Search: Index Replication Lag ocorrerá se o número aproximado de milissegundos em que o MongoDB Search está atrasado na replicação das alterações dooplog de mongod estiver acima ou abaixo do limite.

Atlas Search: Index Size on Disk ocorrerá se o tamanho total de todos os índices do MongoDB Search no disco em bytes estiver acima ou abaixo do limite.

Atlas Search: Mongot paused initial sync ocorre se a sincronização inicial for interrompida pelo processo MongoDB pesquisa mongot devido à alta utilização do disco.

Atlas Search: Mongot is approaching replication stop threshold ocorrerá se o uso do disco em um nó de pesquisa for maior ou igual a 85%.

Atlas Search: Max Number of Lucene Docs é executado automaticamente por padrão. Esse alerta ocorrerá se o número do limite superior de Docs Lucene usados para armazenar índices do MongoDB Search para um determinado conjunto de réplicas ou shard estiver acima do limite.

Atlas Search: Mongot stopped replication é executado automaticamente por padrão.

Esse alerta ocorre somente em nós de pesquisa dedicados quando a replicação é interrompida pelo processo de pesquisa mongot do MongoDB devido à alta utilização do disco. A replicação pausa quando a utilização do disco atinge 90% e é retomada automaticamente quando a utilização do disco cai abaixo de 85%.

Quando a replicação é pausada, os nós de pesquisa podem continuar servindo queries, mas os dados replicados podem ficar obsoletos. Por exemplo, se mongot já estiver em execução, os mapeamentos de sinônimos poderão permanecer carregados, mas podem não refletir as atualizações recentes. Se o Atlas provisionar um novo nó de pesquisa enquanto a replicação estiver pausada, o novo processo mongot poderá não ter mapeamentos de sinônimos disponíveis.

A replicação pausada também pode atrasar ou impedir o provisionamento rápido de nós de pesquisa, que depende da replicação de uma cópia recente do Atlas ao dimensionar os nós de pesquisa.

Se a replicação for pausada por um longo período, o processo mongot poderá sair do oplog. Se mongot cair do oplog, o Atlas reconstrói o índice.

Para evitar que mongot saia do oplog:

  • Atualize seus nós de pesquisa para reduzir a utilização do disco.

  • Exclua índices de pesquisa MongoDB não utilizados.

  • Adicionar nós de pesquisa adicionais.

  • Fragmente seu cluster para melhor distribuir dados e reduzir a pressão do disco.

Atlas Search: Number of Error Queries ocorrerá se o número de queries para as quais a Pesquisa MongoDB não consegue retornar uma resposta estiver acima ou abaixo do limite.

Atlas Search: Number of Successful Queries ocorrerá se o número de queries para as quais o MongoDB Search retornou com sucesso uma resposta estiver acima ou abaixo do limite.

Atlas Search: Total Number of Queries ocorrerá se o número de queries enviadas à MongoDB Search estiver acima ou abaixo do limite.

Atlas Search Opcounter: Delete ocorre se o número total de documentos ou campos (especificados na definição de índice) removidos por segundo estiver acima ou abaixo do limite.

Atlas Search Opcounter: Getmore ocorre se o número total de comandos getmore executados em todas as queries do MongoDB Search por segundo estiver acima ou abaixo do limite.

Atlas Search Opcounter: Insert ocorrerá se o número total de documentos ou campos (especificados na definição do índice) que o MongoDB Search indexa por segundo estiver acima ou abaixo do limite.

Atlas Search Opcounter: Update ocorrerá se o número total de documentos ou campos (especificados na definição do índice) que o MongoDB Search atualiza por segundo estiver acima ou abaixo do limite.

Insufficient disk space to support rebuilding search indexes é executado automaticamente por padrão. Esse alerta ocorre quando o cluster fica sem espaço livre em disco suficiente para oferecer suporte aos índices do MongoDB Search.

Observação

Este alerta pode aparecer quando o Atlas atualiza automaticamente seus índices de pesquisa para habilitar novos recursos. Seu cluster deve ter espaço em disco suficiente para a versão anterior e a nova do índice. Se a reconstrução aumentar o uso do espaço em disco para 90% ou mais, o Atlas aumentará o armazenamento do cluster se você tiver ativado o escalonamento automático. Após a conclusão da atualização do índice, o Atlas exclui a versão antiga do índice, o que libera espaço em disco.

Search Memory: Resident ocorrerá se o total de bytes de memória residente ocupados pelo processo MongoDB Search estiver acima ou abaixo do limite.

Search Memory: Shared ocorrerá se o total de bytes de memória compartilhada ocupados pelo processo MongoDB Search estiver acima ou abaixo do limite.

Search Memory: Virtual ocorrerá se o total de bytes de memória virtual ocupados pelo processo de pesquisa do MongoDB estiver acima ou abaixo do limite.

Search Process: CPU (Kernel) % ocorrerá se a porcentagem de tempo que a CPU gastou atendendo chamadas do sistema operacional para o processo de pesquisa do MongoDB estiver acima do limite.

Search Process: CPU (User) % ocorrerá se a porcentagem de tempo que a CPU gastou atendendo o processo de pesquisa do MongoDB estiver acima do limite.

Search Process: Disk space used ocorrerá se o total de bytes de espaço em disco usados pelo processo de pesquisa do MongoDB estiver acima do limite.

O Search Process: Ran out of memory executa automaticamente por padrão. Você pode definir a configuração do alerta para desativar essa notificação. Este alerta ocorre quando o processo de pesquisa (mongot) fica sem memória. Quando o processo de pesquisa fica sem memória, a indexação e as queries falham.

Os alertas de pesquisa do MongoDB geralmente ocorrem quando você tenta criar um índice de pesquisa grande ou complexo. Esses índices permanecem na fase Initial Sync até que você resolva o problema de memória.

Se o processo de pesquisa (mongot) ficar sem memória ou espaço em disco, você poderá atualizar o cluster para corrigir o problema imediato. Você pode selecionar uma camada do cluster com mais memória, armazenamento e IOPS.

Para evitar alertas de pesquisa do MongoDB Search no futuro, revise cuidadosamente o Aprimoramento do desempenho da pesquisa do MongoDB para a pesquisa do MongoDB.

Para otimizar seus índices, recomendamos a implantação de nós de pesquisa dedicados, que permite dimensionar seu cluster do Atlas e $search cargas de trabalho de forma independente. Os nós de pesquisa dedicados executam somente o processo mongot e, portanto, melhoram a disponibilidade, o desempenho e o balanceamento da carga de trabalho do processo mongot.

Visualize os gráficos de pesquisa MongoDB disponíveis para monitorar as métricas de pesquisa do MongoDB.

Monitore as métricas do MongoDB Search para avaliar e otimizar seus índices do MongoDB Search.

Para saber mais, consulte Visualizar métricas do cluster.

Voltar

Auto-Scaling

Nesta página