Docs Menu
Docs Home
/ /

Supervisa y mejora los query lentos con Performance Advisor

Solo disponible en clústeres M10+

Performance Advisor supervisa los queries que MongoDB considera lentos y sugiere nuevos índices para mejorar el rendimiento de los queries. El umbral para queries lentos varía según el tiempo promedio de operaciones en el clúster para brindar recomendaciones pertinentes a la carga de trabajo.

Los índices recomendados se acompañan de consultas de muestra, agrupadas por Formade consulta, ejecutada en una colección que se beneficiaría del índice sugerido. El Asesor de Rendimiento no afecta negativamente el rendimiento de los clústeres de Atlas.

También puede supervisar la latencia de consultas a nivel de colección con Información sobre espacios de nombres y rendimiento de consultas con el generador de perfiles de consultas.

Nota

Si un query es lento, entre los motivos más frecuentes, se incluyen los siguientes:

  • El query no es compatible con los índices actuales.

  • Algunos documentos de la colección tienen grandes campos de arreglo que resultan complejos de buscar e indexar.

  • Un query recupera información de varias colecciones con $lookup.

Para ver las colecciones con queries lentos y ver los índices sugeridos, se necesita accesoProject Read Only o superior al proyecto.

Para ver los valores de campo en un query de muestra en el Performance Advisor, se necesita tener acceso Project Observability Viewer, Project Data Access Read Only, Project Data Access Read/Write o Project Data Access Admin al proyecto.

Para activar o desactivar el umbral de operación lenta gestionado por Atlas, se necesita acceso Project Owner al proyecto. Los usuarios con acceso Organization Owner deben añadirse al proyecto como Project Owner.

Por defecto, Atlas ajusta dinámicamente el umbral de queries lentos en función del tiempo de ejecución de las operaciones en el clúster. Sin embargo, puedes optar por desactivar esta funcionalidad y en su lugar usar un umbral fijo de queries lentos de 100 milisegundos. No recomendamos que establezcas el umbral fijo de queries lentos por debajo de 100 milisegundos.

Nota

Los clústeres de Atlas con MongoDB Search activado no admiten el umbral de operación de query lento gestionado por Atlas.

Para los clústeres M0, Atlas deshabilita el umbral de operación de consulta lenta administrado por Atlas de manera predeterminada y no puede habilitarlo.

Para desactivar el umbral de operación lenta gestionado por Atlas y utilizar un umbral fijo de 100 milisegundos:

Atlas activa el umbral de operación lenta gestionado por Atlas por defecto. Para volver a activar el umbral de operación lenta gestionado por Atlas que se desactivó anteriormente:

Los índices mejoran el rendimiento de lectura, pero un gran número de índices puede afectar negativamente el rendimiento de escritura, ya que los índices deben actualizarse durante las escrituras. Si la colección ya tiene varios índices, ten en cuenta esta compensación de rendimiento de lectura y escritura a la hora de decidir si creas nuevos índices. Analiza si un query para una colección de este tipo puede modificarse para aprovechar los índices existentes, así como si el query se produce con la frecuencia suficiente como para justificar el costo de un nuevo índice.

Se puede acceder al Performance Advisor con el servidor MCP de MongoDB. Esta herramienta permite la interacción con los clústeres Atlas en lenguaje natural desde clientes de IA como Cursor, Github y Copilot.

Para aprender a utilizar el servidor MCP de MongoDB y obtener recomendaciones de Performance Advisor, se puede consultar Acceder a Performance Advisor con el servidor MCP de MongoDB.

El Performance Advisor Clasifica los índices según Impact su, que se basa en el total de bytes desperdiciados leídos por las operaciones asociadas. Para obtener más información sobre cómo el Asesor de Rendimiento clasifica los índices, consulte Revisar la clasificación de índices.

Para aprender a crear los índices que sugiere Performance Advisor, consulta Crear índices sugeridos.

Cada índice que sugiere el Performance Advisor contiene las siguientes métricas. Estas métricas se aplican específicamente a los queries que el índice mejoraría:

Métrica
Descripción

Execution Count

Número de queries ejecutados por hora que se mejorarían.

Average Execution Time

Tiempo promedio actual de ejecución en milisegundos de los queries afectados.

Average Query Targeting

Número promedio de documentos leídos por documento devuelto por los queries afectados. Una puntuación más alta de segmentación de queries indica un mayor grado de ineficiencia. Para obtener más información sobre la segmentación de queries, consulta Segmentación de queries.

In Memory Sort

Número actual de queries afectados por hora que había que ordenar en la memoria.

Average Docs Scanned

Número promedio de documentos escaneados.

Average Docs Returned

Número promedio de documentos devueltos.

Average Object Size

Tamaño promedio de los objetos.

Para cada índice sugerido, Performance Advisor muestra las formas del query que se ejecutan con más frecuencia y que el índice mejoraría. Para cada forma del query, Performance Advisor muestra las siguientes métricas:

Métrica
Descripción

Execution Count

Número de queries ejecutados por hora que coinciden con la forma del query.

Average Execution Time

Tiempo promedio de ejecución en milisegundos para queries que coinciden con la forma del query.

Average Query Targeting

Número promedio de documentos leídos por cada documento devuelto por queries coincidentes. Una puntuación más alta de segmentación de queries indica un mayor grado de ineficiencia. Para obtener más información sobre la segmentación de queries, consulta Segmentación de queries.

Average Docs Scanned

Número promedio de documentos escaneados.

Average Docs Returned

Número promedio de documentos devueltos.

Performance Advisor también muestra cada query de muestra ejecutada que coincide con la forma del query, con métricas específicas para ese query.

Cada sugerencia de índice incluye una puntuación de Average Query Targeting que indica cuántos documentos se han leído por cada documento devuelto para las formas del query correspondientes del índice. Una puntuación de 1 representa formas del query muy eficaces porque cada documento leído coincidía con el query y se devolvía con los resultados del query. Todos los índices sugeridos representan una oportunidad para mejorar el rendimiento de los query.

Por defecto, Performance Advisor sugiere índices para todos los clústeres de la implementación. Para mostrar solo los índices sugeridos de una colección específica, usa el menú desplegable Collection de la parte superior de Performance Advisor.

También puedes ajustar el rango de tiempo que Performance Advisor tiene en cuenta al sugerir índices mediante el menú desplegable Time Range en la parte superior de Performance Advisor.

Performance Advisor no puede sugerir índices para bases de datos MongoDB configuradas para utilizar el formato de marca de tiempo ctime. Como solución alternativa, configura el formato de marca de tiempo para tales bases de datos a iso8601-utc o iso8601-local. Para aprender más sobre los formatos de marca de tiempo, consulta mongod --timeStampFormat.

Si un clúster experimenta un pico de actividad y genera una cantidad extremadamente grande de mensajes de registro, Atlas puede dejar de recopilar y almacenar nuevos registros durante un período.

Nota

Los límites de velocidad de análisis de registros se aplican únicamente a la Interfaz de Usuario de Performance Advisor, la Interfaz de Usuario de Query Insights, la Interfaz de Usuario de Access Tracking y la Interfaz de Usuario de MongoDB Search Query Analytics. Los archivos de registro descargables siempre están completos.

Performance Advisor no ofrece sugerencias de rendimiento para las colecciones de series de tiempo.

Performance Advisor incluye un botón de comentarios para realizar sugerencias de índices en un clúster dedicado.

Puedes crear índices sugeridos por Performance Advisor directamente dentro del propio Performance Advisor. Al crear índices, ten en cuenta la proporción entre lecturas y escrituras en la colección de destino. Los índices tienen un costo en el rendimiento, pero valen la pena si se realizan queries frecuentes sobre grandes conjuntos de datos. Para aprender más sobre estrategias de indexación, consulta Estrategias de indexación.

  • No puedes crear índices a través de Performance Advisor si Data Explorer está desactivado para tu proyecto. Todavía puedes consultar las recomendaciones de Performance Advisor, pero debes crear esos índices desde mongosh.

  • Solo puedes crear un índice a la vez a través de Performance Advisor. Si quieres crear más de forma simultánea, puedes hacerlo desde la interfaz de usuario de Atlas, un driver o el shell.

  • Atlas siempre crea índices para clústeres completos. Si se crea un índice mientras se visualiza el Performance Advisor para una sola partición en un clúster, Atlas crea ese índice para todo el clúster.

Para crear un índice sugerido:

1

Performance Advisor abre el cuadro de diálogo Create Index y rellena automáticamente Fields en función del índice seleccionado.

2
{ <option1>: <value1>, ... }

Ejemplo

En el siguiente documento de opciones, se especifica la opción unique y name para el índice:

{ unique: true, name: "myUniqueIndex" }
3

Utiliza la intercalación para especificar reglas propias del lenguaje para la comparación de strings, como reglas para el uso de mayúsculas y minúsculas, y los acentos. El documento de intercalación contiene un campo locale que indica el código ICU de localización, y puede contener otros campos para definir el comportamiento de la intercalación.

Ejemplo

En el siguiente documento de opciones de intercalación, se especifica un valor de localización de fr para una intercalación en francés:

{ "locale": "fr" }

Para revisar la lista de localizaciones que MongoDB admite para la intercalación, consulta la lista de lenguajes y localizaciones. Para aprender más sobre las opciones de intercalación, lo que incluye cuáles están activadas por defecto para cada localización, consulta Intercalación en el manual de MongoDB.

4

Importante

La creación de índices de manera continua reduce la resiliencia de tu clúster y aumenta los tiempos de creación de índices. Solo recomendamos utilizar la creación de índices continua cuando la creación de índices regular no satisface tus necesidades.

Si se decide continuar con un índice variable, hay que tener en cuenta que deben cumplirse ciertas condiciones para que tenga éxito. Para garantizar que la creación de índices se complete con éxito, se deben evitar los siguientes patrones de diseño que comúnmente activan un bucle de reinicio:

Nota

La Interfaz de Usuario de Atlas no admite la compilación de índices con una compilación continua para los clústeres M0 Free y Flex.

Para las cargas de trabajo que no pueden tolerar una disminución en el rendimiento debido a la creación de índices, considera crear índices de forma progresiva.

Para mantener la disponibilidad del clúster:

  • Atlas remueve un nodo del clúster a la vez, comenzando por un secundario.

  • Puede fallar más de un nodo al mismo tiempo, pero Atlas siempre mantiene una mayoría de los nodos en línea.

Atlas cancela de forma automática las creaciones de índices continuas que no se completan correctamente en todos los nodos. Cuando una creación de índices en modo continuo se completa en algunos nodos, pero falla en otros, Atlas cancela la creación de índices y remueve el índice de cualquier nodo en el que se haya creado con éxito.

En caso de cancelación de la creación de índices continua, Atlas genera un evento de la fuente de actividad y envía un correo electrónico de notificación al propietario del proyecto con la siguiente información:

  • Nombre del clúster en el que falló la creación de índices en curso

  • Namespace en el que falló la creación de índices en curso

  • Proyecto que contiene el clúster y el namespace

  • Organización que contiene el proyecto

  • Enlace al evento de la fuente de actividad

Para aprender más sobre la recompilación de índices, consulta Crear un índice en sets de réplicas.

Nota

Unique Las opciones de índices son incompatibles con la creación de índices de forma continua. Si especificas unique en el panel Options, Atlas rechaza tu configuración con un mensaje de error.

5
6

Importante

Cuando se completa la creación de índices, Atlas genera un evento de la fuente de actividad y envía una notificación por correo electrónico al propietario del proyecto con la siguiente información:

  • Fecha de finalización de la creación de índices

  • Nombre del clúster en el que se completó la creación de índices

  • Namespace sobre el que se completó la creación de índices

  • Proyecto que contiene el clúster y el namespace

  • Organización que contiene el proyecto

  • Enlace al evento de la fuente de actividad

Volver

Analizar consultas lentas

En esta página