sql >> Base de Datos >  >> NoSQL >> MongoDB

Análisis de consultas lentas en MongoDB

¡Nos complace anunciar al público la disponibilidad de nuestro analizador de consultas lentas para MongoDB! Con el analizador de consultas lentas, puede identificar rápidamente las consultas lentas en cualquiera de sus servidores durante un período de tiempo determinado. De forma predeterminada, las "consultas lentas" se definen como consultas que tardan más de 100 ms.

Mapa de calor de consulta lenta

El mapa de calor le brinda una descripción general visual rápida de las consultas lentas en su sistema. El eje vertical del gráfico es el tiempo exponencial. Esto significa que cuanto más alta esté la burbuja en el gráfico, más lenta será la consulta (en órdenes de magnitud), así que vigile las burbujas que se encuentran constantemente en la parte superior de su gráfico. También puede hacer clic en una burbuja para ver los detalles de la consulta subyacente.

Las consultas del mismo tipo tienen el mismo color. Esto le permite identificar fácilmente patrones en sus consultas lentas. También puede seleccionar partes del gráfico para hacer zoom en un rango de tiempo particular.

P.ej. En el ejemplo anterior, puede ver un grupo de puntos rojos que tardan más de 10 segundos. También puede ver que un trabajo en segundo plano que se ejecuta una vez por hora tarda 28 segundos en ejecutarse. Puede hacer clic en el punto de datos para obtener la consulta real.

Tabla de datos de consulta lenta

La tabla de datos de consultas lentas le brinda una vista tabular de todos los datos de consultas lentas. Las tablas de datos muestran varias métricas importantes sobre sus consultas lentas:

  • Tipo - Tipo de consulta:consultar, insertar, actualizar, eliminar, etc.
  • Base de datos y colección – La base de datos y la colección de la consulta
  • Consulta – La consulta real con los parámetros de consulta eliminados
  • Contar – El número de veces que se ejecutó la consulta en el período de tiempo seleccionado
  • nEscaneado – El número de entradas escaneadas en el índice + número de objetos escaneados de la colección
  • Duración (ms) – El tiempo medio de ejecución de la consulta en ms
  • Longitud de respuesta (bytes) – La longitud de respuesta promedio del resultado de la consulta en bytes
  • nDevuelto - El número medio de documentos devueltos por ejecución de la consulta
  • Bloqueo de lectura (microsegundos) – El tiempo promedio de bloqueo de lectura en microsegundos
  • Bloqueo de escritura (microsegundos) – El tiempo promedio de bloqueo de escritura en microsegundos

Puede ordenar la tabla de consultas lentas por cualquiera de las columnas anteriores para crear la vista que necesita. Los datos de la consulta también se pueden descargar en Excel para su análisis. Haga clic en el enlace "Descargar datos como csv" para descargar los datos de consulta lenta y realizar su análisis personalizado en Excel.

Para identificar fácilmente las consultas problemáticas, proporcionamos una serie de vistas integradas.

Consultas lentas ordenadas por "más frecuentes"

Esta vista presenta (en orden descendente) las consultas que se ejecutan con mayor frecuencia en el sistema. Desea prestar especial atención a las consultas principales de la lista. Si su valor nScanned es alto o la duración es alta, debe agregar el índice apropiado para esta consulta. Esto reduce la cantidad de documentos escaneados desde el disco.

Consultas lentas ordenadas por "Documentos/índices escaneados máximos"

Esta vista presenta (en orden descendente) las consultas que analizan la mayoría de las entradas de índice o la mayoría de los documentos de una colección. Un valor alto de 'nScanned' implica que no tiene un índice o que no tiene el índice correcto. Puede que no sea posible agregar un índice para cada consulta en el sistema, pero debe asegurarse de que al menos sus consultas de alta frecuencia estén bien indexadas.

Consultas lentas ordenadas por "Consulta más lenta"

Esta vista presenta (en orden descendente) las consultas que tardan más tiempo en ejecutarse. Si la consulta se ejecuta con muy poca frecuencia, puede decidir si desea optimizarla.

Consultas lentas ordenadas por "Máximo de documentos devueltos"

Esta vista presenta (en orden descendente) las consultas que arrojan la mayor cantidad de resultados. La devolución de muchos resultados a menudo genera una carga de red en el sistema. También debe asegurarse de devolver solo los campos que necesita del documento y no todos los campos.

Consultas lentas ordenadas por "Bloqueo de lectura"

Esta vista presenta (en orden descendente) las consultas que consumen el tiempo máximo de bloqueo de lectura en microsegundos. Si está utilizando el motor de almacenamiento WiredTiger, esto no suele ser un problema, ya que WiredTiger emplea el bloqueo de nivel de documento.

Consultas lentas ordenadas por "bloqueo de escritura"

Esta vista presenta (en orden descendente) las consultas que consumen el tiempo máximo de bloqueo de escritura en microsegundos. Si está utilizando el motor de almacenamiento WiredTiger, esto no suele ser un problema, ya que WiredTiger emplea el bloqueo de nivel de documento.