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 el registro de consultas lentas contiene consultas consecutivas En las etapas $matchdel flujo de trabajo de agregación, ambas etapas pueden fusionarse en la primera etapa$matchy dar como resultado una sola etapa$match. Como resultado, la forma de la consulta en el Asesor de Rendimiento podría diferir de la consulta real ejecutada.
Motivos frecuentes de los queries lentos
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.
Acceso requerido
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.
Configura el umbral de queries lentos
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.
Desactiva el umbral de operación lenta gestionado por Atlas
Para desactivar el umbral de operación lenta gestionado por Atlas y utilizar un umbral fijo de 100 milisegundos:
Activa el umbral de operación lenta gestionado por Atlas
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:
Consideraciones sobre los índices
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.
Accede a Performance Advisor
Accede a Performance Advisor con el servidor MCP
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.
Sugerencias de índices
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.
Métricas del índice
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. |
Queries de muestra
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.
Segmentación de queries
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.
Sugerencias del índice de filtros
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.
Limitaciones de las sugerencias de índices
Formato de marca de tiempo
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.
Cantidad de registros
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.
Colecciones de series de tiempo
Performance Advisor no ofrece sugerencias de rendimiento para las colecciones de series de tiempo.
Comentarios de los usuarios
Performance Advisor incluye un botón de comentarios para realizar sugerencias de índices en un clúster dedicado.
Crear índices sugeridos
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.
Comportamiento y limitaciones
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.
Procedimiento
Para crear un índice sugerido:
(Opcional) Especifica las opciones de índice.
{ <option1>: <value1>, ... }
Ejemplo
En el siguiente documento de opciones, se especifica la opción unique y name para el índice:
{ unique: true, name: "myUniqueIndex" }
(Opcional) Configura las opciones de intercalación.
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.
(Opcional) Activa la compilación de índices de forma continua.
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:
La clave de índice supera el límite de clave de índice.
El nombre del índice ya existe
Índice en más de un campo de arreglo.
Índice de la colección que tiene el mayor número de índices de texto.
Índice de texto en la colección que tiene el mayor número de índices de texto.
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.
En el cuadro de diálogo Confirm Operation, se debe confirmar el índice.
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