Optimizar para entornos con gran volumen de consultas de extracción

El tema brinda orientación sobre la configuración de una topología y configuraciones específicas de Tableau Server para ayudar a optimizar y mejorar el rendimiento en un entorno de consulta de extracción.

¿Qué es un entorno con un gran volumen de consultas de extracción? Las extracciones y las fuentes de datos federadas se consultan mientras se cargan libros de trabajo, vistas y dashboards, lo que genera una gran cantidad de trabajo de consultas. Por lo tanto, si tiene muchas extracciones y fuentes de datos federadas, se puede decir que tiene un entorno de gran volumen de consultas de extracción.

Si su entorno tiene muchas consultas de extracción como se definió anteriormente, las siguientes secciones pueden ayudar a decidir si esta configuración es adecuada para usted.

Cuándo usar esta configuración

Razonamiento clave detrás de esta configuración: Hyper es la tecnología de motor de datos optimizada para memoria de Tableau, adecuada para ingestas de datos rápidas y procesamiento analítico, lo que hace que sea esencial para optimizar cargas de trabajo con muchas consultas. A medida que aumenta el uso de extracciones, recomendamos configurar el motor de datos en nodos dedicados del clúster de Tableau Server. Esta configuración permite a Tableau Server escalar horizontalmente la infraestructura para optimizar el rendimiento al consultar extracciones.

Hay varios factores que afectan el rendimiento de Tableau Server al visualizar contenido mediante extracciones y fuentes de datos federadas. El objetivo aquí es lograr un rendimiento de consulta constante y fiable al visualizar contenido en el servidor. Use esta configuración si en su entorno se dan las condiciones siguientes:

  • Los tiempos de carga del libro de trabajo varían bastante y el libro de trabajo usa extracciones o fuentes de datos federadas.

  • Su implementación de Tableau Server está viendo un crecimiento en la cantidad de usuarios Creator, Explorer, Viewer y en el contenido basado en extracciones, por lo que desea escalar horizontalmente de manera eficiente.

  • Se retienen recursos entre el motor de datos y VizQL Server si está instalado el almacén de archivos.
  • Analiza grandes cantidades de datos. Esta configuración ayuda a optimizar el rendimiento en escenarios de big data, tanto en la ingesta como en el análisis de datos. Para obtener más información sobre Tableau y los big data, consulte Hipercargar el análisis de big data con Tableau.

Nota: Use el registro del rendimiento de lado del servidor para determinar los tiempos de ejecución de las consultas. Para determinar el uso de recursos de Tableau, use Monitor de rendimiento en las instalaciones de Windows, y las herramientas sysstat o vmstat para las instalaciones de Linux.

Beneficios de usar esta configuración

Estos son los beneficios clave de configurar nodos dedicados para el motor de datos:

  • Los nodos de motor de datos dedicados reducirán la retención de recursos entre las consultas de extracción y otras cargas de trabajo que consumen muchos recursos, como las procesadas por VizQL Server.

  • Las consultas de extracción se equilibran dinámicamente en los nodos dedicados, teniendo en cuenta el estado actual del sistema para garantizar que ningún nodo esté sobreutilizado o infrautilizado.
  • Rendimiento más constante en la experiencia del usuario al cargar libros de trabajo que dependen de extracciones. La estrategia aquí es establecer un rendimiento constante y fiable en lugar de mejorar las consultas individuales.

  • Tiene más control sobre la ampliación de los procesos de Tableau Server que necesitan más recursos. Si VizQL Server, el motor de datos y el procesador en segundo plano se ejecutan en el mismo nodo y el problema son las consultas de extracción lentas, será difícil ver mejoras de rendimiento al agregar un segundo nodo con los tres procesos. Con esta configuración, puede agregar más nodos que mejorarán específicamente las cargas de trabajo de consultas de extracción.

  • Ayuda a mejorar la disponibilidad y el tiempo de actividad. En el caso de un error y si uno de los nodos del motor de datos dedicados no está disponible, VizQL Server intentará enrutar las solicitudes pendientes en el nodo problemático a otros nodos del motor de datos dedicados.

  • Data Engine usa todos los núcleos disponibles en el equipo. Dicho esto, tiene la flexibilidad de añadir más recursos a los nodos dedicados del motor de datos para reducir el tiempo de respuesta de las consultas y la variabilidad en las consultas de extracciones de gran tamaño, o añadir más nodos dedicados del motor de datos para mejorar el rendimiento de las consultas de extracciones en el servidor.

  • Data Engine tiene una configuración predeterminada que lo limita a un promedio del 75 % de la CPU por hora. Esto tiene como objetivo ayudar a evitar conflictos con otros procesos de Tableau Server. Si está ejecutando Data Engine en un nodo dedicado, puede aumentar este promedio al 95 %. Para obtener información sobre cómo hacerlo, consulte hyper.srm_cpu_limit_percentage.

Cuándo no usar esta configuración

  • Si no tiene problemas con la carga de consultas basadas en extracciones, es posible que los recursos de hardware se asignen mejor a otras partes de Tableau Server.

  • En los nodos donde coexisten el almacén de archivos, el motor de datos y VizQL Server, no se aprecia la retención de recursos entre el motor de datos y VizQL Server.

  • Antes de implementar esta configuración, es muy recomendable evaluar el uso de CPU de las instancias de VizQL Server y del nodo donde se instaló el motor de datos con el almacén de archivos.

Configuración

El objetivo principal de esta configuración es tener el motor de datos en uno o más nodos dedicados.

  • En implementaciones donde el almacén de archivos está instalado localmente, esto implica configurar el almacén de archivos en uno o más nodos dedicados. El motor de datos se instala automáticamente en el mismo nodo que el almacén de archivos.

  • En las implementaciones en las que está configurando el almacén de archivos externos, aún puede configurar el motor de datos en nodos dedicados en Tableau Server.

Por tanto, separar los procesos de VizQL Server y del almacén de archivos permite equilibrar y gestionar mejor la carga de trabajo de la consulta de extracciones y la visualización o la interacción con las vistas. Esta configuración tiene como objetivo conseguir un rendimiento constante al consultar extracciones.

A continuación, se muestra una representación visual de la configuración en la que los procesos del motor de datos/almacén de archivos tienen dos nodos dedicados, los nodos 5 y 6. Este es un ejemplo en el que el almacén de archivos se configura localmente, por lo que los procesos del motor de datos y el almacén de archivos están ubicados en el mismo lugar.

La misma configuración funciona para implementaciones con almacenamiento de archivos externo, pero los nodos 5 y 6 solo tendrán el motor de datos configurado en ese caso.

Además, dado que el nodo 1 también tiene los procesos del repositorio almacén de archivos, todos los datos necesarios para realizar una copia de seguridad se encuentran en el nodo 1, lo que puede mejorar el rendimiento de la copia de seguridad.

Consejos de hardware

Para aprovechar al máximo esta configuración, deberá experimentar con varios tamaños y configuraciones de hardware para ver cuál se adapta mejor a sus objetivos de rendimiento de carga máxima. Hyper es una tecnología de base de datos de alto rendimiento y los recursos clave que afectan el rendimiento son la memoria, los núcleos y la E/S de almacenamiento. Comprender cómo Hyper usa los recursos para procesar consultas le ayudará a realizar su selección de hardware y a comprender los motivos entre diferentes configuraciones.

  • Memoria: cuando se procesa una consulta basada en extracciones para un usuario o un proceso en segundo plano, Tableau Server selecciona un nodo de motor de datos dedicado para procesar la consulta. Ese nodo de motor de datos dedicado luego copiará la extracción del almacenamiento local, generalmente el disco duro del servidor, en la memoria. Tener más memoria disponible en el sistema permite que el sistema operativo administre mejor el uso de memoria para Tableau. Los nodos de motor de datos dedicados utilizan la memoria del sistema para almacenar el conjunto de resultados de las consultas ejecutadas. Si el conjunto de resultados sigue siendo válido y el sistema operativo no lo ha borrado de la memoria, se puede reutilizar el conjunto de resultados en la memoria.

    La recomendación mínima de hardware de Tableau Server es 32 GB de memoria, pero si espera un gran volumen de cargas de libros de trabajo basadas en extracciones, utilice 64 GB o 128 GB de memoria. Si está alcanzando otros límites de recursos además de la memoria (como núcleos), en lugar de escalar hasta 128 GB de memoria, sería mejor escalar horizontalmente a un nodo de motor de datos dedicado adicional de 64 GB.

    El proceso de copiar la extracción del almacenamiento local a la memoria puede llevar tiempo y puede ser necesario optimizar el rendimiento del disco. La optimización del rendimiento del disco se trata en la sección E/S de almacenamiento.

  • Núcleos: al procesar una consulta basada en extracciones, la cantidad de núcleos es un recurso de hardware importante que puede afectar al rendimiento y la escalabilidad. Los núcleos de CPU son responsables de ejecutar una consulta y tener más núcleos disponibles reduciría el tiempo de ejecución. En términos generales, duplicar el número de núcleos reducirá el tiempo de ejecución de la consulta a la mitad. Por ejemplo, una consulta de 10 segundos que actualmente utiliza 4 núcleos físicos u 8 vCPU, llevará 5 segundos si actualiza a 8 núcleos físicos o 16 vCPU.

    La recomendación mínima actual de hardware de Tableau Server es de 8 núcleos, pero si su implementación utiliza extracciones, utilice equipos de 16 o 32 núcleos. Una cosa importante que se debe tener en cuenta es que si la memoria y la E/S son sus cuellos de botella, aumentar los núcleos disponibles no mejorará el rendimiento de su consulta.

  • E/S de almacenamiento: Hyper está diseñado para aprovechar el rendimiento disponible de su dispositivo de almacenamiento de extracciones para agilizar el procesamiento de consultas. Recomendamos elegir almacenamiento en disco rápido como unidades de estado sólido (SSD) con altas velocidades de lectura/escritura. Actualmente, los SSD que utilizan el protocolo de almacenamiento NVMe ofrecen las velocidades más rápidas disponibles.

Nota: El tamaño de los recursos para los nodos de motor de datos dedicados solo afecta el rendimiento de la consulta de extracción. Al cargar un libro de trabajo, hay muchos otros procesos involucrados que constituyen el tiempo total de solicitud de carga de VizQL. El proceso del servidor VizQL, por ejemplo, es responsable de tomar los datos del motor de datos y representar la visualización.

Otras optimizaciones y ajustes de rendimiento:

Hay funciones adicionales que puede utilizar para optimizar el rendimiento más allá de la configuración básica descrita anteriormente. Las optimizaciones que se describen a continuación son aplicables tanto a las implementaciones del almacén de archivos local como al almacén de archivos externo.

  • Equilibrio de carga de consulta de extracción: para determinar dónde enrutar la consulta de extracción, el motor de datos usa una métrica de estado del servidor: la cantidad de recursos que consume el motor de datos y la carga de otros procesos de Tableau que pueden estar ejecutándose en el mismo nodo. Además de evaluar los recursos del sistema, también se tiene en cuenta si una extracción ya existe en la memoria del nodo para asegurarse de que se envíe una consulta de extracción al nodo que tiene la mayor cantidad de recursos disponibles para procesar la consulta. Esto da como resultado una utilización más eficiente de la memoria y el disco y las extracciones no se duplican en la memoria entre los nodos. Consulte el artículo de ayuda Equilibrio de carga para las consultas de extracciones para obtener más información.

    La función de equilibrio de carga de consultas de extracción está habilitada de forma predeterminada en Tableau Server versión 2020.2 y posteriores.

  • Optimizaciones de la carga de trabajo mediante roles de nodo: con los roles de nodo del procesador en segundo plano y del almacén de archivos, los administradores del servidor tienen más flexibilidad y control sobre qué nodos deben dedicarse para ejecutar consultas de extracción y actualizaciones de extracción. Como se mencionó en el diagrama de topología anterior, ciertos nodos del motor de datos están dedicados a procesar consultas de extracción y ejecutar solo los procesos del almacén de archivos y del motor de datos. Los roles de nodo están disponibles con Advanced Management. Para obtener más información sobre los roles de nodos, consulte Gestión de la carga de trabajo mediante roles de nodo.

El diagrama siguiente utiliza la misma topología que la configuración básica descrita anteriormente pero con los roles de nodo.

  • Función de nodo de fondo de actualización de extracción: al configurar el nodo 3 para extraer-actualizar el rol de nodo del procesador en segundo plano, solo se ejecutarán actualizaciones incrementales, actualizaciones completas y trabajos de cifrado/descifrado en este nodo. Al establecer el Nodo 4 en el rol de nodo del procesador en segundo plano "sin actualizaciones de extracción", todos los trabajos en segundo plano que no sean actualizaciones de extracción se ejecutarán en este nodo. El servidor de datos y la puerta de enlace ayudan a los trabajos de actualización de extracciones cuando se usan extracciones federadas y duplicadas. Para obtener más información sobre los roles de nodos del procesador en segundo plano, consulte Roles de nodo del almacén de archivos.

    Además, dado que el nodo 1 también tiene los procesos del repositorio almacén de archivos, todos los datos necesarios para realizar una copia de seguridad se encuentran en el nodo 1, lo que puede mejorar el rendimiento de la copia de seguridad.

    Los roles de nodos del procesador en segundo plano están disponibles con Advanced Management en Tableau Server versión 2019.3 y posteriores.

  • Rol de nodo de almacén de archivos de consultas de extracción: los nodos 5 y 6, que son los nodos de motor de datos dedicados, tienen la función de nodo de almacén de archivos de consultas de extracción para garantizar que solo procesen consultas para cargas de visualizaciones, suscripciones y alertas basadas en datos.
  • Rol de nodo de almacén de archivos interactivo de consultas de extracción: para los nodos del motor de datos dedicados que tengan un rol de nodo de almacén de archivos de consultas de extracción, los administradores del servidor pueden aislar las cargas de trabajo interactivas y programadas para que se ejecuten en los nodos dedicados del motor de datos. Esto es útil para momentos en los que hay muchos usuarios que interactúan y cargan libros de trabajo durante períodos de suscripción de gran volumen. Por ejemplo, digamos que hay 1000 suscripciones programadas para los lunes a las 08:00. Al mismo tiempo, muchos usuarios también están cargando dashboards al comienzo de su día. El volumen combinado de suscripción y consultas de los usuarios puede hacer que los usuarios experimenten tiempos de carga de libros de trabajo más lentos y variables. Con el rol de nodo de almacén de archivos interactivo de consulta de extracción, puede designar nodos del motor de datos dedicados para que solo acepten consultas de usuarios interactivos (los que están mirando sus pantallas esperando). Estos nodos de motor de datos dedicados que tienen prioridad para cargas de trabajo interactivas estarían protegidos del gran volumen de trabajos de suscripción y proporcionarían tiempos de consulta más constantes. Además, los administradores de servidor pueden usar este rol de nodo para planificar mejor el crecimiento, ya que pueden agregar nodos de motor de datos dedicados para cargas de trabajo interactivas y programadas de forma independiente. Para obtener más información, consulte Roles de nodo del almacén de archivos.

    Los roles de nodos del almacén de archivos están disponibles con Advanced Management en Tableau Server versión 2020.4 y posteriores.

  • Optimizaciones mediante el almacén de archivos externo: esta funcionalidad permite usar un recurso compartido de red como almacenamiento para el almacenamiento de archivos en lugar de usar el disco local en un nodo de Tableau Server. Al tener el almacenamiento en una ubicación centralizada, puede reducir significativamente la cantidad de tráfico de red que se dedica a replicar datos entre los nodos del almacén de archivos. Por ejemplo, en el caso de que el almacén de archivos esté usando un disco local, cuando una extracción de 1 GB se actualiza usando el almacén de archivos local, el 1 GB de datos se replica a través de la red a todos los nodos que ejecutan el proceso de almacén de archivos. En el caso de que Tableau Server esté configurado con el almacén de archivos externo, la extracción de 1 GB solo necesita copiarse en el recurso compartido de red una vez y todos los nodos del almacén de archivos pueden acceder a esa copia única. La centralización del almacenamiento también reduce la cantidad total de almacenamiento local necesario en los nodos del almacén de archivos.

    Además, las copias de seguridad de Tableau Server aprovechan la tecnología de instantáneas para reducir significativamente el tiempo necesario para completar una copia de seguridad.

    Si bien no necesita una configuración de nodo de motor de datos dedicada para obtener los beneficios del almacén de archivos externo, las funciones adicionales de administración de carga de trabajo con el rol de nodo almacén de archivos y el rol de nodo interactivo de consulta de extracción se pueden usar juntos. Consulte el tema Almacén de archivos externo de Tableau Server para obtener más información.

    El almacén de archivos externo está disponible con Advanced Management en Tableau Server versión 2020.1 y posteriores.

     

¡Gracias por sus comentarios!Sus comentarios se han enviado correctamente. ¡Gracias!