Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt; las versiones en Markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Corregir problemas de query

Query Targeting las alertas suelen indicar consultas ineficaces.

Puedes configurar las siguientes condiciones de alerta en la página de Configuración de alertas a nivel de proyecto para activar alertas.

Query Targeting: Scanned Objects / Returned las alertas se activan cuando el número promedio de documentos escaneados en relación con el número promedio de documentos devueltos en todo el servidor en todas las operaciones durante un período de muestreo supera un umbral definido. La alerta por defecto usa un umbral 1000:1.

Idealmente, la proporción de documentos escaneados respecto a los devueltos debería ser cercana a 1. Una proporción alta tiene un impacto negativo en el rendimiento de las queries.

Query Targeting: Scanned / Returned Ocurre si el número de claves de índice examinadas para cumplir con una query en relación con la cantidad real de documentos devueltos cumple o supera un umbral definido por el usuario. Esta alerta no está activada por defecto.

Ejemplo

La siguiente entrada de mongod registro muestra estadísticas generadas a partir de una query ineficiente:

<Timestamp> COMMAND <query>
planSummary: COLLSCAN keysExamined:0
docsExamined: 10000 cursorExhausted:1 numYields:234
nreturned:4 protocol:op_query 358ms

Esta query examinó 10,000 documentos y devolvió solo 4 para una proporción de 2500, lo cual es altamente ineficiente. No se examinaron claves de índice, por lo que MongoDB escaneó todos los documentos de la colección, lo que se denomina escaneo de colección.

La alerta de orientación de query normalmente se produce cuando no existe un índice que apoye la query o queries o cuando un índice existente solo respalda parcialmente una query o queries.

Los cursores de flujos de cambios que el proceso de búsqueda de MongoDB (mongot) utiliza para mantener actualizados los índices de búsqueda de MongoDB pueden contribuir a la relación de orientación de query y activar alertas de orientación de query si la relación es alta.

Agrega uno o más índices para servir mejor a las consultas ineficientes.

El Performance Advisor proporciona la forma más fácil y rápida de crear un índice. El Performance Advisor supervisa las queries que MongoDB considera lentas y recomienda índices para mejorar el desempeño. Atlas ajusta dinámicamente tu umbral de query lenta en función del tiempo de ejecución de las operaciones a lo largo de tu clúster.

Haz clic en Create Index en una consulta lenta para obtener instrucciones sobre cómo crear el índice recomendado.

Nota

Es posible recibir una alerta de Query Targeting para una query ineficiente sin recibir sugerencias de índice del Performance Advisor si la query supera el umbral de queries lentas y la proporción entre documentos escaneados y devueltos supera el umbral especificado en la alerta.

Además, puedes utilizar los siguientes recursos para determinar qué query generó la alerta:

  • El Real-Time Performance Panel supervisa y muestra el tráfico de la red actual y las operaciones de la base de datos en las máquinas que alojan MongoDB en tus clústeres de Atlas.

  • Los registros de MongoDB mantienen un registro de actividad, incluidas las consultas, para cada instancia de mongod en tus clústeres de Atlas.

  • El cursor.explain() el comando para mongosh proporciona detalles de rendimiento para todas las consultas.

  • Namespace Insights supervisa la latencia de queries a nivel de colección.

  • El Query Profiler de Atlas registra las operaciones que Atlas considera lentas en comparación con el tiempo de ejecución promedio de todas las operaciones en su clúster.

Consulta lo siguiente para obtener más información sobre el rendimiento de las consultas:

Atlas proporciona los siguientes métodos para visualizar la orientación de query:

  • Query Targeting métricas, que enfatizan altas tasas de objetos escaneados frente a objetos retornados.

  • Namespace Insights, que supervisa la latencia de queries a nivel de colección.

  • El perfilador del query, que describe queries específicas ineficientes ejecutadas en el clúster.

Puedes ver métricas históricas que te ayudarán a visualizar el rendimiento de las query de tu clúster. Para ver las métricas de Query Targeting en la interfaz de usuario de Atlas:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

2
  1. Haz clic en View Monitoring en el tablero del clúster.

  2. En la página Metrics, haz clic en el menú desplegable Add Chart y selecciona Query Targeting.

La gráfica Query Targeting muestra las siguientes métricas para las queries ejecutadas en el servidor:

Métrica
Descripción
Scanned Objects / Returned

Indica el número promedio de documentos examinados en relación con el número promedio de documentos devueltos.

Scanned / Returned

Indica el número de claves de índice examinadas para cumplir una query en relación con el número real de documentos devueltos.

Los cursores de flujos de cambios que el proceso de búsqueda de MongoDB (mongot) utiliza para mantener actualizados los índices de búsqueda de MongoDB pueden contribuir a la relación de orientación de query y activar alertas de orientación de query si la relación es alta.

Si alguna de estas métricas supera el umbral definido por el usuario, Atlas genera la Query Targeting: Scanned Objects / Returned o la Query Targeting: Scanned / Returned alerta correspondiente.

Nota

También puede ver los ratios de Query Targeting de las operaciones en tiempo real utilizando el Real-Time Performance Panel.

Namespace Insights supervisa la latencia de queries a nivel de colección. Se pueden ver las métricas y estadísticas de latencia de queries para ciertos hosts y tipos de operaciones. Gestiona los namespaces fijados y elige hasta cinco namespaces para mostrar en las gráficas de latencia de queries correspondientes.

Para acceder a Namespace Insights:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

2
  1. Haz clic en el nombre del clúster para abrir la barra lateral Cluster.

  2. Haz clic en Query Insights en la barra lateral de Cluster.

  3. Haz clic en la pestaña Namespace Insights.

El perfilador del Query contiene varias métricas que se pueden utilizar para identificar queries ineficientes específicas. Puedes visualizar hasta las últimas 24 horas de operaciones de query. El Query Profiler puede mostrar el Examined : Returned Ratio (claves de índice examinadas en los documentos devueltos) de las consultas registradas, lo que podría ayudarle a identificar las consultas que activaron una Query Targeting: Scanned / Returned alerta. La gráfica muestra el número de claves de índice examinadas para cumplir con una query en relación con el número real de documentos devueltos.

Nota

La proporción de alertas por defecto Query Targeting: Scanned Objects / Returned difiere ligeramente. La relación entre el número promedio de documentos escaneados y el número promedio de documentos devueltos durante un periodo de muestreo activa esta alerta.

Atlas podría no registrar las operaciones individuales que contribuyen a las ratios de query targeting debido a los umbrales configurados automáticamente. Sin embargo, todavía puedes usar el perfilador del query y las métricas de Query Targeting para analizar y optimizar el rendimiento de la query.

Para acceder al perfilador del query:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

2
  1. Haz clic en el nombre del clúster para abrir la barra lateral Cluster.

  2. Haz clic en Query Insights en la barra lateral de Cluster.

  3. Haz clic en la pestaña Query Profiler.