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
/
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 un query a MongoDB, el servidor interpreta el query, compila un plan del query para determinar la mejor manera de recuperar los datos, ejecuta el plan y luego devuelve los resultados al cliente.

Para mejorar el rendimiento de las queries, considera cómo MongoDB compila y ejecuta el plan para tus queries específicas e identifica á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 separada. En las operaciones de lectura, permiten que MongoDB realice una búsqueda en el índice para identificar documentos relevantes en lugar de en toda la colección. En las operaciones de escritura, MongoDB debe tanto guardar el cambio en la colección como actualizar el índice.

En muchos casos, el uso de índices puede acelerar tu query. Esta mejora depende de qué campos estén indexados y de qué utilicen sus consultas como filtros. Por ejemplo, si una consulta no aplica proyecciones ni filtros, un escaneo de colección puede ser más eficiente que un escaneo de índice.

Para más información, consulte Indexes.

El Atlas perfilador del query ayuda a diagnosticar y supervisar queries de lenta ejecución utilizando datos de registro de tu clúster. Agrega, filtra y visualiza estadísticas de rendimiento en una gráfica de dispersión a través de la interfaz Query Insights.

Puede encontrar esta visualización más cómoda para identificar consultas lentas y valores atípicos de desempeño que la Database Profiler.

Con el perfilador del query, obtienes una visión macro de la carga de tu aplicación. Esto puede ayudarte a identificar qué consultas son lentas y proporcionar algunas ideas sobre cómo puedes mejorar su rendimiento, tales como:

  • Cuánto tiempo tarda en ejecutarse la query

  • El número de documentos examinados por la consulta

  • Si la consulta utiliza un índice

Para obtener más información, consulte Supervise el rendimiento de las querys con el perfilador del query.

El perfilador de base de datos recopila información detallada sobre las queries que se ejecutan en MongoDB, la cual almacena en el restringido system.profile colecció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 más información, consulta Sobrecarga del perfilador.

Con el perfilador de base de datos, se obtiene una vista micro de las consultas lentas en la carga actual de la aplicación. Esto puede proporcionar algunas perspectivas sobre cómo mejorar el rendimiento de las consultas, como:

  • Cuánto tiempo tarda en ejecutarse la query

  • El número de documentos examinados por la consulta

  • Si la consulta utiliza un índice

Para obtener más información, consulta Salida del perfilador de base de datos.

Nota

El perfilador de base de datos no está disponible en mongos. Si necesitas encontrar queries lentas en un clúster, consulta Supervisar las operaciones actuales.

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

  • Cuánto tiempo tarda en ejecutarse la query

  • Si la consulta está esperando un bloqueo

  • Si la consulta utiliza un índice

Para obtener más información, consulte Supervisar Slow Queries.

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 más información, consulte Explicación de 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 promedio 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