Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Solucionar problemas de búsqueda en MongoDB

Activadores de MongoDB Search MongoDB Search emite alertas cuando la cantidad de CPU y memoria utilizadas por los procesos de MongoDB Search alcanza un umbral especificado. Si el proceso de búsqueda (mongot) se queda sin memoria, la indexación y las consultas fallan. Puede configurar las condiciones de alerta de MongoDB Search en la ventana de configuración de alertas del proyecto. También puede ver las métricas de MongoDB Search con la monitorización de clústeres.

ADVERTENCIA: Si particiona una colección que ya tiene un índice de búsqueda de MongoDB, podría experimentar un breve período de resultados de búsqueda incompletos mientras el índice se está compilando en una partición. Además, si añade una partición a una colección ya particionada que contiene un índice de búsqueda de MongoDB, sus queries de búsqueda en esa colección podrían devolver resultados incompletos hasta que se complete el proceso de sincronización inicial en las particiones agregadas. Para obtener más información, consulte el proceso de sincronización inicial.

Puedes configurar las siguientes condiciones de alerta en la página de Configuración de alertas a nivel de proyecto para activar alertas.

Atlas Search: Index Replication Lag ocurre si el número aproximado de milisegundos que MongoDB Search demora en replicar cambios desde el oplog de mongod está por encima o por debajo del umbral.

Si el retraso en la replicación es lo suficientemente grande como para que mongot se quede atrás con respecto a la ventana de oplog configurada, mongot ya no podrá sincronizarse de forma incremental. En ese caso, mongot reconstruirá automáticamente todo el índice. Durante la reconstrucción, las consultas de búsqueda seguirán funcionando, pero devolverán resultados obsoletos.

Para reducir el retraso en la replicación:

  • Aumenta el tamaño de tu oplog para darle a mongot más tiempo para sincronizarse durante las ráfagas de escritura. Puedes configurar el tamaño mínimo del oplog en la configuración de tu clúster.

  • Amplíe el tamaño de sus nodos de búsqueda para proporcionarles mongot más CPU y memoria para la replicación. Para obtener más información sobre cómo agregar o ampliar el tamaño de los nodos de búsqueda,consulte Consejos para dimensionar y ampliar los nodos de búsqueda.

  • Reduzca el volumen de escrituras en ráfagas mediante la agrupación o la limitación de las operaciones masivas cuando sea posible.

  • Supervise el volumen de escritura junto con el retraso de replicación. Un aumento repentino en el rendimiento de escritura suele indicar agotamiento del oplog. Para obtener más información sobre cómo supervisar el volumen de escritura y solucionar problemas, consulte la sección «Solucionar problemas del oplog».

Umbral recomendado: Configure esta alerta muy por debajo de la duración de su ventana de oplog. Por ejemplo, si su ventana de oplog es de 24 horas, considere configurar una alerta entre 30el y el50% de esa ventana (por ejemplo, 812 entre y horas) para tener tiempo de responder antes de que horas mongot desaparezcan del oplog.

Atlas Search: Index Size on Disk Ocurre si el tamaño total de todos los índices de MongoDB Search en disco, en bytes, supera o está por debajo del umbral.

Atlas Search: Mongot paused initial sync ocurre si la sincronización inicial se interrumpe por el proceso de búsqueda de MongoDB mongot debido a una alta utilización del disco.

Atlas Search: Mongot is approaching replication stop threshold ocurre si el uso del disco en un nodo de búsqueda es mayor o igual al 85%.

Atlas Search: Max Number of Lucene Docs Se ejecuta automáticamente de forma predeterminada. Esta alerta se activa si el límite superior de documentos de Lucene utilizados para almacenar índices de búsqueda de MongoDB para un conjunto de réplicas o fragmento determinado supera el umbral.

Atlas Search: Mongot stopped replication se ejecuta automáticamente por defecto.

Esta alerta sólo ocurre en Nodos de búsqueda dedicados cuando la replicación se interrumpe por el proceso MongoDB Search mongot debido a la alta utilización del disco. La replicación se pausa cuando la utilización del disco alcanza el 90% y se reanuda automáticamente cuando la utilización cae por debajo del 85%.

Cuando la replicación está en pausa, los nodos de búsqueda podrían seguir atendiendo consultas, pero los datos replicados podrían quedar obsoletos. Por ejemplo, si mongot ya se está ejecutando, las asignaciones de sinónimos podrían permanecer cargadas, pero no reflejar las actualizaciones recientes. Si Atlas aprovisiona un nuevo nodo de búsqueda mientras la replicación está en pausa, es posible que el nuevo proceso mongot no tenga asignaciones de sinónimos disponibles.

La replicación en pausa también puede retrasar o impedir el aprovisionamiento rápido de nodos de búsqueda, que depende de que Atlas replique una copia reciente de su índice al escalar los nodos de búsqueda.

Si la replicación se pausa durante un período prolongado, el proceso mongot puede salirse del oplog. Si mongot se cae del oplog, Atlas reconstruye el índice.

Para evitar que mongot se caiga del registro de operaciones:

  • Potencia tus Search nodos para reducir el uso del disco.

  • Eliminar índices de búsqueda de MongoDB no utilizados.

  • Agregar nodos de búsqueda adicionales.

  • Crea particiones en tu clúster para distribuir mejor los datos y reducir la presión sobre el disco.

Atlas Search: Number of Error Queries ocurre si el número de consultas para las que MongoDB Search no puede devolver una respuesta está por encima o por debajo del umbral.

Atlas Search: Number of Successful Queries ocurre si el número de consultas para las que MongoDB Search devolvió una respuesta correctamente está por encima o por debajo del umbral.

Atlas Search: Total Number of Queries ocurre si el número de consultas enviadas a MongoDB Search está por encima o por debajo del umbral.

Atlas Search Opcounter: Delete ocurre si el número total de documentos o campos (especificados en la definición del índice) eliminados por segundo está por encima o por debajo del umbral.

Atlas Search Opcounter: Getmore ocurre si el número total de getmore comandos ejecutados en todas las consultas de búsqueda de MongoDB por segundo es superior o inferior al umbral.

Atlas Search Opcounter: Insert ocurre si el número total de documentos o campos (especificados en la definición del índice) que MongoDB Search indexa por segundo está por encima o por debajo del umbral.

Atlas Search Opcounter: Update ocurre si el número total de documentos o campos (especificados en la definición del índice) que MongoDB Search actualiza por segundo supera o no alcanza el umbral.

Insufficient disk space to support rebuilding search indexes se ejecuta automáticamente por defecto. Esta alerta se produce cuando el clúster se queda sin suficiente espacio libre en disco para soportar los índices de MongoDB Search.

Nota

Esta alerta podría aparecer cuando Atlas automáticamente actualiza sus índices de búsqueda para habilitar nuevas características. Su clúster debe tener suficiente espacio en disco tanto para la versión anterior como para la nueva del índice. Si la reconstrucción aumenta el uso del espacio en disco a 90% o más, Atlas aumenta el almacenamiento del clúster si se habilitó el escalado automático. Después de que se complete la actualización del índice, Atlas elimina la versión anterior del índice, lo que libera espacio en disco.

Search Memory: Resident ocurre si el total de bytes de memoria residente ocupado por el proceso MongoDB Search está por encima o por debajo del umbral.

Search Memory: Shared ocurre si el total de bytes de memoria compartida ocupados por el proceso de búsqueda de MongoDB está por encima o por debajo del umbral.

Search Memory: Virtual se produce si el número total de bytes de memoria virtual ocupados por el proceso de MongoDB Search supera o queda por debajo del umbral.

Search Process: CPU (Kernel) % ocurre si el porcentaje de tiempo que la CPU dedicó al servicio de llamadas del sistema operativo para el proceso MongoDB Search supera el umbral.

Search Process: CPU (User) % ocurre si el porcentaje de tiempo que la CPU dedica al servicio del proceso de búsqueda de MongoDB es superior al umbral.

Search Process: Disk space used ocurre si el total de bytes de espacio en disco utilizado por el proceso de MongoDB Search supera el umbral.

Search Process: Ran out of memory se ejecuta automáticamente por defecto. Puedes configurar la configuración de la alerta para desactivar esta notificación. Esta alerta ocurre cuando el proceso de búsqueda (mongot) se queda sin memoria. Cuando el proceso de búsqueda se queda sin memoria, la indexación y las queries fallan.

Las alertas de búsqueda de MongoDB suelen aparecer cuando se intenta crear un índice de búsqueda grande o complejo. Estos índices permanecen en el... Initial Sync fase hasta que resuelvas el problema de memoria.

Si el proceso de búsqueda (mongot) se queda sin memoria o espacio en disco, puede actualizar su clúster para solucionar el problema inmediato. Puede seleccionar un nivel de clúster con más memoria, almacenamiento y IOPS.

Para evitar alertas de MongoDB Search en el futuro, revisa cuidadosamente Mejorar el desempeño de MongoDB Search para MongoDB Search.

Para optimizar sus índices, recomendamos implementar nodos de búsqueda dedicados, lo que le permite escalar su clúster Atlas y sus cargas de trabajo de forma independiente. Los nodos de búsqueda $search dedicados solo ejecutan el mongot proceso y, por lo tanto, mejoran la disponibilidad, el rendimiento y el equilibrio de mongot carga del proceso.

Consulta las gráficas de MongoDB Search disponibles para supervisar las métricas de MongoDB Search.

Supervise las métricas de MongoDB Search para evaluar y optimizar sus índices de MongoDB Search.

Para obtener más información, consulte Ver métricas del clúster

Volver

Auto-escala

En esta página