Docs Menu
Docs Home
/ /
Rendimiento

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.

  • Encontrar queries lentas

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.

Quizás le resulte más conveniente esta visualización para identificar consultas lentas y valores atípicos de rendimiento que el Generador de perfiles 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.

Los find() métodos y proporcionan un método, que se puede utilizar para recuperar el plan de aggregate() explain() consulta y las estadísticas de ejecución para una consulta o operación de agregación en particular.

El método le permite identificar posibles problemas con consultas específicas,explain() como:

  • Filtros ineficientes

  • Uso ineficaz del índice

  • Posibles problemas de rendimiento a escala

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

Volver

Optimización del rendimiento

En esta página