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
/ /
/ / /

Solucionar problemas de consultas

Query Targeting las alertas suelen indicar consultas ineficaces.

Puede configurar las siguientes condiciones de alerta en el nivel de proyecto página de configuración de alertas 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.

Lo ideal sería que la relación entre documentos escaneados y documentos devueltos fuera cercana a 1. Una relación alta afecta negativamente al rendimiento de las consultas.

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 registro de mongod muestra estadísticas generadas a partir de una consulta 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 llaves de índice, por lo que MongoDB escaneó todos los documentos de la colección, lo que se conoce como un 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.

Haga clic Create Index en la query lenta para obtener instrucciones sobre cómo crear el índice recomendado.

Nota

Es posible recibir una alerta de orientación de consulta para una consulta ineficiente sin recibir sugerencias de índice del Asesor de rendimiento si la consulta excede el umbral de consulta lenta y la relación entre documentos escaneados y devueltos es mayor que 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 monitorea la latencia de consultas a nivel de colección.

  • Atlas Query Profiler 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 monitorea la latencia de consultas 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.

El gráfico Query Targeting muestra las siguientes métricas para las consultas 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 la cantidad de claves de índice examinadas para cumplir una consulta en relación con la cantidad 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 Query Targeting ratios de operaciones en tiempo real utilizando el Panel de rendimiento en tiempo real.

Namespace Insights monitoriza la latencia de consultas a nivel de colección. Puede ver métricas y estadísticas de latencia de consultas para determinados hosts y tipos de operación. Administre espacios de nombres anclados y seleccione hasta cinco espacios de nombres para mostrarlos en los gráficos de latencia de consultas 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 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 tasa Query Targeting: Scanned Objects / Returned de alerta predeterminada varía ligeramente. La tasa de alerta se activa según la relación entre el promedio de documentos escaneados y el promedio de documentos devueltos durante un período de muestreo.

Es posible que Atlas no registre las operaciones individuales que contribuyen a las tasas de segmentación de consultas debido a los umbrales establecidos automáticamente. Sin embargo, aún puede usar el Generador de perfiles de consultas y las Query Targeting métricas para analizar y optimizar el rendimiento de las consultas.

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 Cluster.

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

Volver

Almacenamiento

En esta página