Docs Menu
Docs Home
/
Administración
/

Rendimiento de los queries

Optimiza tus queries de MongoDB para asegurar el mejor rendimiento posible para tu aplicación. Esto puede ocurrir tanto durante el desarrollo como más adelante, a medida que cambien el uso de tus datos y la demanda. A medida que las colecciones crecen, una revisión periódica del rendimiento de las query puede ayudar a determinar cuándo los clústeres necesitan escalar horizontal o verticalmente.

Cuando envía una consulta a MongoDB, el servidor interpreta la consulta, crea un plan de consulta para determinar cuál es la mejor manera de recuperar los datos, ejecuta el plan y luego devuelve los resultados al cliente.

Para mejorar el rendimiento de las consultas, considere cómo MongoDB crea y ejecuta el plan para sus consultas específicas e identifique áreas problemáticas, como campos que se beneficiarían de un índice, filtros ineficientes y problemas a escala.

Los índices almacenan valores de campos individuales o conjuntos de campos de una colección en una estructura de datos independiente. En las operaciones de lectura, permiten a MongoDB buscar en el índice para identificar los documentos relevantes en lugar de en toda la colección. En las operaciones de escritura, MongoDB debe escribir el cambio en la colección y actualizar el índice.

En muchos casos, el uso de índices puede agilizar las consultas. Esta mejora depende de los campos indexados y de los filtros que utilicen las consultas. Por ejemplo, si una consulta no aplica proyecciones ni filtros, un análisis de colección puede ser más eficiente que un análisis de índice.

Para más información, consulte Indexes.

El Perfilador de Consultas Atlas ayuda a diagnosticar y supervisar consultas de ejecución lenta mediante datos de registro de su clúster. Agrega, filtra y visualiza estadísticas de rendimiento en un gráfico de dispersión a través de la interfaz de Información de Consultas.

Puede que esta visualización le resulte más conveniente para identificar consultas lentas y valores atípicos de rendimiento que la Perfilador de base de datos.

Con el Generador de Perfiles de Consultas, obtienes una visión general de la carga de tu aplicación. Esto te ayuda a identificar qué consultas son lentas y te proporciona información sobre cómo mejorar su rendimiento, como:

  • Cuánto tiempo tarda en ejecutarse la consulta

  • El número de documentos examinados por la consulta

  • Si la consulta utiliza un índice

Para obtener más información,consulte Supervisar el rendimiento de las consultas con el generador de perfiles de consultas.

El generador de perfiles de base de datos recopila información detallada sobre las consultas que se ejecutan en MongoDB y la almacena en un archivo limitado. system.profile recopilación.

Importante

El generador de perfiles de base de datos puede afectar el rendimiento de la base de datos y el uso del disco. Considere las implicaciones en el rendimiento y el almacenamiento antes de habilitarlo en una implementación de producción.

Para obtener más información, consulte Profiler Overhead.

Con el generador de perfiles de base de datos, obtiene una microvista de las consultas lentas en la carga actual de la aplicación. Esto puede proporcionar información sobre cómo mejorar el rendimiento de las consultas, como:

  • Cuánto tiempo tarda en ejecutarse la consulta

  • El número de documentos examinados por la consulta

  • Si la consulta utiliza un índice

Para obtener más información, consulte Salida del generador de perfiles de base de datos.

Nota

El generador de perfiles de base de datos no está disponible en. Si necesita detectar consultas lentas en un clúster fragmentado,mongos consulte Supervisar operaciones actuales.

La $currentOp etapa de agregación devuelve información sobre las operaciones que se están ejecutando actualmente en un servidor o clúster de MongoDB. $currentOp puede ayudarle a identificar problemas de rendimiento, como:

  • Cuánto tiempo tarda en ejecutarse la consulta

  • Si la consulta está esperando un bloqueo

  • Si la consulta utiliza un índice

Para obtener más información,consulte Supervisar consultas lentas.

El método explain() recupera información sobre el plan del query y las estadísticas de ejecución sobre los queries y los pipelines de agregación. Está disponible para su uso con estos métodos de consulta:

El método puede ayudarle a identificar posibles problemas con consultas específicas,explain() como:

  • Filtros ineficientes

  • Uso ineficaz del índice

  • Posibles problemas de rendimiento a escala

Para obtener más información, consulte Explicar las consultas lentas.

La $collStats etapa de agregación proporciona información estadística sobre colecciones específicas y su uso. Esto puede resultarle útil para identificar problemas de índice y rendimiento.

Esto puede proporcionar información útil, como:

  • Uso de almacenamiento para la colección y sus índices

  • El tamaño medio de los documentos

La $indexStats etapa de agregación proporciona información estadística sobre el uso del índice por parte de una colección. Esto puede ayudarle a identificar problemas específicos de uso del índice, como:

  • Si las consultas utilizan el índice y con qué frecuencia

  • Si un índice es redundante

En esta página