Usar el rastreador de consultas Explorar y el panel Rendimiento para monitorizar el rendimiento de las consultas

El seguimiento de consultas de Explorar y el panel Rendimiento de Explorar proporcionan datos de rendimiento paso a paso de una consulta de Explorar. Estos datos pueden ayudar a identificar los puntos de entrada clave para solucionar problemas de rendimiento con las consultas y ofrecer recomendaciones para mejorar.

Consultar el seguimiento de consultas

El rastreador de consultas de Exploración muestra el progreso de una consulta de Exploración a lo largo de las tres fases de la consulta mientras se ejecuta.

Si una consulta tarda mucho en ejecutarse, el rastreador de consultas puede indicar qué fase de la consulta está causando el problema de rendimiento. Esto resulta útil para identificar dónde pueden producirse problemas de rendimiento y dónde pueden ser más eficaces las optimizaciones.

El monitor de consultas se muestra cuando se está ejecutando una exploración, siempre que esté abierto el panel Visualización o el panel Datos de Exploración.

Consultar el panel Rendimiento

Para ver el panel Rendimiento de Exploración, haz clic en el enlace Ver detalles del rendimiento, que está disponible en cualquier consulta de Exploración que se haya ejecutado.

El panel Rendimiento muestra el tiempo que ha dedicado la consulta a cada una de las tres fases de la consulta e incluye enlaces a la documentación sobre el rendimiento y al panel de control Historial de consultas Actividad del sistema, que muestra los datos de rendimiento actuales e históricos de la consulta y del Exploración que se ha usado para crearla.

Fases de la consulta

Cuando una Exploración de Looker ejecuta una consulta de base de datos, la consulta se ejecuta en tres fases, como se indica a continuación:

Fase de inicialización de consultas

Durante la fase de inicialización de la consulta, Looker realiza todas las tareas necesarias antes de enviar la consulta a tu base de datos. La fase de inicialización de la consulta incluye las siguientes tareas:

En la página de documentación Información sobre las métricas de rendimiento de las consultas se describe cómo usar la función Explorar Métricas de rendimiento de las consultas en Actividad del sistema para ver desgloses detallados de una consulta. La fase Inicialización de la consulta del seguimiento de consultas incluye los eventos que se describen en las fases Trabajador asíncrono, Inicialización y Gestión de conexiones de la exploración Métricas de rendimiento de las consultas.

Fase de ejecución de la consulta

En la fase Ejecutando consulta, Looker se pone en contacto con tu base de datos, la consulta y devuelve los resultados de la consulta. Los problemas de rendimiento durante esta fase podrían indicar que hay un problema con la base de datos externa, como PDTs que tardan mucho en volver a compilarse y que pueden necesitar optimización, o tablas de bases de datos externas que pueden necesitar optimización. La fase Running Query incluye las siguientes tareas:

  • Crear las PDTs de la base de datos que sean necesarias para la consulta de Explorar
  • Ejecutando la consulta solicitada en la base de datos

En la página de documentación Información sobre las métricas de rendimiento de las consultas se describe cómo usar la función Explorar Métricas de rendimiento de las consultas en Actividad del sistema para ver desgloses detallados de una consulta. La fase Ejecución de consultas del seguimiento de consultas incluye los eventos que se describen en la fase Consultas principales de la exploración Métricas de rendimiento de las consultas.

Si tienes problemas de rendimiento durante esta fase, puedes probar a hacer lo siguiente:

  • Crea Exploraciones usando combinaciones many_to_one siempre que sea posible. Unir vistas desde el nivel más granular hasta el nivel de detalle más alto (many_to_one) suele ofrecer el mejor rendimiento de las consultas.
  • Maximiza el almacenamiento en caché para sincronizarlo con tus políticas de ETL siempre que sea posible y así reducir el tráfico de consultas de bases de datos. De forma predeterminada, Looker almacena en caché las consultas durante una hora. Puedes controlar la política de almacenamiento en caché y sincronizar las actualizaciones de datos de Looker con tu proceso de ETL aplicando grupos de datos en Exploraciones mediante el parámetro persist_with. Al maximizar el almacenamiento en caché, Looker puede integrarse mejor con el flujo de procesamiento de datos backend, por lo que el uso de la caché se puede maximizar sin el riesgo de analizar datos obsoletos. Las políticas de almacenamiento en caché con nombre se pueden aplicar a todo un modelo o a Exploraciones y tablas derivadas persistentes (PDTs) concretas.
  • Usa la función Conocimiento de agregaciones de Looker para crear resúmenes o tablas de resumen que Looker pueda usar en las consultas siempre que sea posible, sobre todo en las consultas habituales de bases de datos grandes. También puedes usar la agregación de la visibilidad para mejorar drásticamente el rendimiento de paneles de control completos. Para obtener más información, consulta el tutorial sobre la notoriedad agregada.
  • Usa PDTs para hacer consultas más rápido. Convierte las Exploraciones con muchas combinaciones complejas o de bajo rendimiento, o las dimensiones con subconsultas o subselecciones, en PDTs para que las vistas se combinen previamente y estén listas antes del tiempo de ejecución.
  • Si tu dialecto de base de datos admite PDTs incrementales, configura PDTs incrementales para reducir el tiempo que Looker dedica a recompilar las tablas PDT.
  • No combines vistas en Exploraciones con claves principales concatenadas definidas en Looker. En su lugar, únete a los campos base que componen la clave principal concatenada de la vista. También puede volver a crear la vista como una PDT con la clave principal concatenada predefinida en la definición SQL de la tabla, en lugar de en el LookML de una vista.
  • Usa la herramienta Explicar en SQL Runner para hacer comparativas. EXPLAIN genera un resumen del plan de ejecución de consultas de su base de datos para una consulta SQL determinada, lo que le permite detectar los componentes de la consulta que se pueden optimizar. Consulta más información en la publicación de la comunidad Cómo optimizar SQL con EXPLAIN.
  • Declara los índices. Puedes consultar los índices de cada tabla directamente en Looker desde SQL Runner. Para ello, haz clic en el icono de rueda dentada de una tabla y, a continuación, selecciona Mostrar índices.

    Las columnas más habituales que pueden beneficiarse de los índices son las fechas importantes y las claves externas. Añadir índices a estas columnas aumentará el rendimiento de casi todas las consultas. Esto también se aplica a las PDTs. Los parámetros de LookML, como indexes, sort keys y distribution, se pueden aplicar correctamente.

Fase de procesamiento de resultados

Durante la fase Procesando resultados, Looker procesa y renderiza los resultados de la consulta. La fase Procesando resultados incluye las siguientes tareas:

En la página de documentación Información sobre las métricas de rendimiento de las consultas se describe cómo usar la función Explorar Métricas de rendimiento de las consultas en Actividad del sistema para ver desgloses detallados de una consulta. La fase Procesando resultados del seguimiento de consultas incluye los eventos que se describen en la fase posterior a la consulta de la exploración Métricas de rendimiento de las consultas.

Si tienes problemas de rendimiento durante esta fase, puedes hacer lo siguiente:

  • Usa funciones como combinar resultados, campos personalizados y cálculos de tabla con moderación. Estas funciones están pensadas para usarse como pruebas de concepto que te ayuden a diseñar tu modelo. Es una práctica recomendada codificar de forma rígida los cálculos y las funciones que se usan con frecuencia en LookML, lo que generará SQL para que se procese en tu base de datos. Si se realizan demasiados cálculos, se puede producir una competencia por la memoria Java en la instancia de Looker, lo que hará que la instancia responda más lentamente.
  • Limita el número de vistas que incluyes en un modelo cuando hay un gran número de archivos de vista. Incluir todas las vistas en un solo modelo puede ralentizar el rendimiento. Cuando haya un gran número de vistas en un proyecto, considere la posibilidad de incluir solo los archivos de vista que sean necesarios en cada modelo. Te recomendamos que utilices convenciones de nomenclatura estratégicas para los nombres de los archivos de vista, de forma que puedas incluir grupos de vistas en un modelo. Puede consultar un ejemplo en la documentación del parámetro includes.
  • Evita devolver un gran número de puntos de datos de forma predeterminada en los baldosines de los paneles de control y en los Looks. Las consultas que devuelvan miles de puntos de datos consumirán más memoria. Asegúrate de que los datos estén limitados siempre que sea posible aplicando filtros de frontend a los paneles, los Looks y las Exploraciones, así como a nivel de LookML con los parámetros required filters, conditionally_filter y sql_always_where.
  • Descarga o envía consultas con la opción Todos los resultados con moderación, ya que algunas consultas pueden ser muy grandes y sobrecargar el servidor de Looker cuando se procesan.