Cómo usar el panel de rendimiento y el seguimiento de consultas de Explorar para supervisar el rendimiento de las consultas

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

Seguimiento de consultas de Explorar

El seguimiento de consultas de Explorar muestra el progreso de una consulta de Explorar a través de las tres fases de la consulta mientras se ejecuta.

Si una consulta tarda mucho en ejecutarse, el seguimiento de consultas puede indicar qué fase de la consulta está causando el problema de rendimiento. Esto es útil para identificar dónde pueden ocurrir problemas de rendimiento y dónde los esfuerzos de optimización pueden ser más eficaces.

El seguimiento de consultas se muestra cuando se ejecuta una exploración, siempre que esté abierto el panel Visualización de Explorar o el panel Datos de Explorar.

Panel Rendimiento de Explorar

Para ver el panel Rendimiento de Explorar, haz clic en el vínculo Ver detalles de rendimiento, que está disponible en cualquier consulta de Explorar que se haya ejecutado.

En el panel Rendimiento, se muestra el tiempo que la consulta pasó en cada una de las tres fases de la consulta y se incluyen vínculos a la documentación de rendimiento y al Historial de consultas panel de actividad del sistema, que muestra datos de rendimiento actuales e históricos para la consulta y la exploración que se usó para crear la consulta.

Fases de la consulta

Cuando una exploración de Looker ejecuta una consulta de base de datos, la consulta se ejecuta en tres fases, de la siguiente manera:

Fase de inicialización de la consulta

Durante la fase de inicialización de la consulta, Looker realiza todas las tareas necesarias antes de que se envíe 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 Comprende las métricas de rendimiento de las consultas, se describe cómo usar la exploración Métricas de rendimiento de las consultas en la Actividad del sistema para ver desgloses detallados de una consulta. La fase de inicialización de la consulta del seguimiento de consultas incluye los eventos que se describen en las fases Fase de trabajador asíncrono, Fase de inicialización y Fase de manejo de conexiones de la exploración Métricas de rendimiento de las consultas.

Fase de consulta en ejecución

En la fase de consulta en ejecución , Looker se comunica con tu base de datos, le envía consultas y muestra los resultados. Los problemas de rendimiento durante esta fase podrían indicar un problema con la base de datos externa, como PDT 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 de consulta en ejecución incluye las siguientes tareas:

  • Compilar cualquier PDT en la base de datos que sea necesaria para la consulta de Explorar
  • Ejecutar la consulta solicitada en la base de datos

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

Entre los posibles pasos que puedes seguir si tienes problemas de rendimiento durante esta fase, se incluyen los siguientes:

  • Compila exploraciones con many_to_one uniones siempre que sea posible. Cuando se unen vistas desde el nivel de detalle más particular hasta el más general (many_to_one), se suele obtener el mejor rendimiento de las consultas.
  • Maximiza el almacenamiento en caché para sincronizarlo con tus políticas de ETL siempre que sea posible para reducir el tráfico de las 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 las exploraciones con el parámetro persist_with. Maximizar el almacenamiento en caché permite que Looker se integre más estrechamente con la canalización de datos de backend, de modo que el uso de la caché se pueda maximizar sin el riesgo de analizar datos obsoletos. Las políticas de almacenamiento en caché con nombre se pueden aplicar a un modelo completo o a exploraciones individuales y tablas derivadas persistentes (PDT).
  • Usa la función de reconocimiento de agregaciones de Looker para crear tablas de resumen o de integración que Looker pueda usar para las consultas siempre que sea posible, en especial para las consultas comunes de bases de datos grandes. También puedes usar el reconocimiento de agregaciones para mejorar drásticamente el rendimiento de los paneles completos. Consulta el instructivo sobre el reconocimiento de agregaciones para obtener más información.
  • Usa PDT para consultas más rápidas. Convierte las exploraciones con muchas uniones complejas o de bajo rendimiento, o dimensiones con subconsultas o subselecciones, en PDT para que las vistas se unan previamente y estén listas antes del tiempo de ejecución.
  • Si tu dialecto de base de datos admite PDT incrementales, configura PDT incrementales para reducir el tiempo que Looker dedica a volver a compilar tablas de PDT.
  • Evita unir vistas en exploraciones en claves primarias concatenadas que se definan en Looker. En su lugar, une los campos base que componen la clave primaria concatenada de la vista. Como alternativa, vuelve a crear la vista como una PDT con la clave primaria concatenada predefinida en la definición de SQL de la tabla, en lugar de en el LookML de una vista.
  • Usa la herramienta Explain in SQL Runner para la evaluación comparativa. EXPLAIN produce una descripción general del plan de ejecución de consultas de tu base de datos para una consulta en SQL determinada, lo que te permite detectar componentes de consulta que se pueden optimizar. Obtén más información en la publicación de Comunidad Cómo optimizar SQL con EXPLAIN.
  • Declara índices. Puedes consultar los índices de cada tabla directamente en Looker desde SQL Runner. Para ello, haz clic en el ícono de ajustes de una tabla y, luego, selecciona Mostrar índices.

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

Fase de procesamiento de resultados

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

En la página de documentación Comprende las métricas de rendimiento de las consultas, se describe cómo usar la exploración Métricas de rendimiento de las consultas en la Actividad del sistema para ver desgloses detallados de una consulta. La fase de procesamiento de 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.

Entre los posibles pasos que puedes seguir si tienes problemas de rendimiento durante esta fase, se incluyen los siguientes:

  • Usa funciones como combinar resultados, campos personalizados, y cálculos basados en tablas con moderación. Estas funciones están diseñadas para usarse como pruebas de concepto para ayudar a diseñar tu modelo. Se recomienda codificar cualquier cálculo y función que se use con frecuencia en LookML, lo que generará SQL para que se procese en tu base de datos. Los cálculos excesivos pueden competir por la memoria de Java en la instancia de Looker, lo que hace que la instancia de Looker responda más lentamente.
  • Limita la cantidad de vistas que incluyes en un modelo cuando hay una gran cantidad de archivos de vista. Incluir todas las vistas en un solo modelo puede ralentizar el rendimiento. Cuando haya una gran cantidad de vistas en un proyecto, considera incluir solo los archivos de vista que sean necesarios en cada modelo. Considera usar convenciones de nomenclatura estratégicas para los nombres de los archivos de vista para permitir la inclusión de grupos de vistas en un modelo. Se incluye un ejemplo en la includes documentación del parámetro.
  • Evita mostrar una gran cantidad de datos de forma predeterminada en los mosaicos del panel y las miradas. Las consultas que muestran miles de datos consumirán más memoria. Asegúrate de que los datos estén limitados siempre que sea posible. Para ello, aplica filtros de frontend a los paneles, las miradas y las exploraciones, y en el nivel de LookML con los parámetros required filters, conditionally_filter y sql_always_where.
  • Descarga o entrega 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.