Compare el rendimiento del nuevo Auto WLM con simultaneidad adaptativa en Amazon Redshift

Nodo de origen: 997762

Con Desplazamiento al rojo de Amazon, puede ejecutar una combinación compleja de cargas de trabajo en sus clústeres de almacenamiento de datos. Por ejemplo, las cargas de datos frecuentes se ejecutan junto con consultas de tablero críticas para el negocio y trabajos de transformación complejos. También vemos cada vez más cargas de trabajo de ciencia de datos y aprendizaje automático (ML). Cada tipo de carga de trabajo tiene diferentes necesidades de recursos y diferentes acuerdos de nivel de servicio. ¿Cómo le brinda Amazon Redshift una experiencia uniforme para cada una de sus cargas de trabajo? La administración de carga de trabajo de Amazon Redshift (WLM) lo ayuda a maximizar el rendimiento de las consultas y obtener un rendimiento constante para las cargas de trabajo de análisis más exigentes, todo mientras utiliza de manera óptima los recursos de su clúster existente.

Amazon Redshift ha realizado recientemente mejoras significativas en WLM automático (Auto WLM) para optimizar el rendimiento de las cargas de trabajo de análisis más exigentes. Con el lanzamiento de Amazon Redshift Auto WLM con simultaneidad adaptativa, Amazon Redshift ahora puede predecir y asignar dinámicamente la cantidad de memoria a las consultas necesarias para que se ejecuten de manera óptima. Amazon Redshift programa dinámicamente las consultas para obtener el mejor rendimiento en función de sus características de ejecución para maximizar la utilización de los recursos del clúster.

En esta publicación, discutimos las novedades de WLM y los beneficios de la concurrencia adaptativa en un entorno típico. Sintetizamos una carga de trabajo mixta de lectura / escritura basada en TPC-H para mostrar las características de rendimiento de una carga de trabajo con una configuración WLM manual altamente ajustada frente a una con Auto WLM. En este experimento, la configuración automática de WLM superó a la configuración manual por un gran margen. Desde el punto de vista del rendimiento (consultas por hora), Auto WLM fue un 15% mejor que la configuración de carga de trabajo manual. En general, observamos tiempos de respuesta promedio un 26% más bajos (tiempo de ejecución + espera en cola) con Auto WLM.

¿Qué hay de nuevo con Amazon Redshift WLM?

La gestión de la carga de trabajo le permite enrutar consultas a un conjunto de colas definidas para gestionar la simultaneidad y la utilización de recursos del clúster. En la actualidad, Amazon Redshift tiene tipos de configuración tanto automática como manual. Con las configuraciones manuales de WLM, usted es responsable de definir la cantidad de memoria asignada a cada cola y el número máximo de consultas, cada una de las cuales obtiene una fracción de esa memoria, que puede ejecutarse en cada una de sus colas. Las configuraciones manuales de WLM no se adaptan a los cambios en su carga de trabajo y requieren un conocimiento profundo de la utilización de recursos de sus consultas para ser correctas. Amazon Redshift Auto WLM no requiere que defina la utilización de memoria o la simultaneidad para las colas. Auto WLM ajusta la concurrencia dinámicamente para optimizar el rendimiento. Opcionalmente, puede definir prioridades de la cola con el fin de brindar consultas de asignación preferencial de recursos en función de la prioridad de su negocio.

Auto WLM también proporciona herramientas poderosas que le permiten administrar su carga de trabajo. Prioridades de consulta le permite definir prioridades para las cargas de trabajo para que puedan obtener un trato preferencial en Amazon Redshift, incluidos más recursos durante las horas punta para un rendimiento de consultas constante, y reglas de supervisión de consultas ofrecen formas de gestionar situaciones inesperadas, como detectar y evitar que las consultas costosas o fuera de control consuman recursos del sistema.

Nuestro lanzamiento inicial de Auto WLM en 2019 mejoró en gran medida la experiencia y el rendimiento listos para usar para la mayoría de los clientes. Sin embargo, en una pequeña cantidad de situaciones, algunos clientes con cargas de trabajo muy exigentes habían desarrollado configuraciones WLM manuales altamente ajustadas para las cuales Auto WLM no demostró una mejora significativa. Durante los últimos 12 meses, trabajamos en estrecha colaboración con esos clientes para mejorar la tecnología Auto WLM con el objetivo de mejorar el rendimiento más allá de la configuración manual altamente ajustada. Una de nuestras principales innovaciones es la concurrencia adaptativa. Con la simultaneidad adaptativa, Amazon Redshift usa ML para predecir y asignar memoria a las consultas bajo demanda, lo que mejora el rendimiento general del sistema al maximizar la utilización de recursos y reducir el desperdicio.

Electronic Arts, Inc. es un líder mundial en entretenimiento interactivo digital. EA desarrolla y ofrece juegos, contenido y servicios en línea para consolas conectadas a Internet, dispositivos móviles y computadoras personales. EA tiene más de 300 millones de jugadores registrados en todo el mundo. Electronic Arts utiliza Amazon Redshift para recopilar información de los jugadores y se ha beneficiado de inmediato del nuevo Amazon Redshift Auto WLM.

"Al adoptar Auto WLM, el rendimiento de nuestro clúster de Amazon Redshift aumentó en al menos un 15% en la misma huella de hardware. Nuestra simultaneidad promedio aumentó en un 20%, lo que permite aproximadamente 15,000 consultas más por semana ahora. Todo esto con un impacto marginal para el resto de los buckets de consultas o clientes. Debido a que Auto WLM eliminó las particiones de recursos de paredes rígidas, logramos un mayor rendimiento durante los períodos pico, entregando datos antes a nuestros estudios de juegos."

- Alex Ignatius, director de ingeniería y arquitectura de análisis de la plataforma digital EA.

Beneficios de Amazon Redshift Auto WLM con simultaneidad adaptativa

Amazon Redshift ha implementado un predictor de AA avanzado para predecir la utilización de recursos y el tiempo de ejecución de cada consulta. El modelo recibe continuamente información sobre la precisión de la predicción y se adapta para futuras ejecuciones. Una mayor precisión de predicción significa que los recursos se asignan en función de las necesidades de la consulta. Esto permite una mayor concurrencia de consultas ligeras y más recursos para consultas intensivas. Esto último conduce a un mejor rendimiento de consultas y clústeres porque se escriben menos datos temporales en el almacenamiento durante el procesamiento de una consulta compleja. El predictor crea una unidad de simultaneidad (ranura) sobre la marcha con la cantidad estimada de memoria necesaria, y la consulta está programada para ejecutarse. Si tiene una acumulación de consultas en cola, puede reordenarlas en las colas para minimizar el tiempo de espera de las consultas breves que consumen menos recursos y, al mismo tiempo, asegurarse de que las consultas de larga duración no se agoten. También nos aseguramos de que las consultas en las colas de WLM estén programadas para ejecutarse de manera justa y en función de sus prioridades.

Las siguientes son áreas clave de Auto WLM con mejoras de rendimiento de simultaneidad adaptativa:

  • Asignación adecuada de memoria - La reducción de la sobreasignación de memoria crea más espacio para que se ejecuten otras consultas y aumenta la simultaneidad. Además, la reducción de la subasignación reduce el derrame en el disco y, por lo tanto, mejora el rendimiento de las consultas.
  • Eliminación de particiones estáticas de memoria entre colas. - Esto libera toda la memoria disponible, que luego está disponible para consultas.
  • Rendimiento mejorado - Puede empaquetar más consultas en el sistema debido a una utilización más eficiente de la memoria.

El siguiente diagrama muestra cómo se mueve una consulta a través de la ruta de ejecución de consultas de Amazon Redshift para aprovechar las mejoras de Auto WLM con simultaneidad adaptativa.

Prueba comparativa

Para evaluar la eficiencia de Auto WLM, diseñamos la siguiente prueba comparativa. Es una carga de trabajo mixta de lectura / escritura sintética que utiliza conjuntos de datos TPC-H 3T y TPC-H de 100 GB para imitar cargas de trabajo del mundo real, como consultas ad hoc para análisis de negocios.

En esta prueba de referencia modificada, el conjunto de 22 consultas TPC-H se dividió en tres categorías según los tiempos de ejecución. Las consultas más cortas se clasificaron como DASHBOARD, las medianas como REPORT y las consultas más largas se marcaron como el grupo DATASCIENCE. Las consultas DASHBOARD se dirigieron a un conjunto de datos TPC-H de 100 GB más pequeño para imitar un conjunto de tablas de datamart. Los trabajos de COPY fueron para cargar un conjunto de datos TPC-H de 100 GB encima de las tablas del conjunto de datos TPC-H 3 T existentes. Las consultas REPORT y DATASCIENCE se ejecutaron en el conjunto de datos TPC-H 3 T más grande como si fueran cargas de trabajo ad hoc y generadas por analistas contra un conjunto de datos más grande. Además, el conjunto de datos TPC-H 3 T aumentaba constantemente a través de los trabajos COPY por hora como si la extracción, transformación y carga (ETL) se ejecutara en este conjunto de datos.

La siguiente tabla resume los componentes de la carga de trabajo sintetizados.

Esquema: tpch100g Esquema: tpch3t
Conjunto de datos -TPC-H 100 GB Conjunto de datos - TPC-H 3T
Tipos de carga de trabajo DASH 16 consultas del panel que se ejecutan cada 2 segundos
INFORME 6 consultas de informes que se ejecutan cada 15 minutos
CIENCIA DE LOS DATOS 4 consultas de ciencia de datos que se ejecutan cada 30 minutos
COPIA 3 trabajos de COPIA cada hora cargando datos de TPC-H de 100 GB en TPC-H 3 T

La siguiente tabla resume las configuraciones manuales y automáticas de WLM que usamos.

Configuración manual Configuración automática
Colas / Grupos de consultas % De memoria Simultaneidad máxima Escalado de simultaneidad Prioridad % De memoria Simultaneidad máxima Escalado de simultaneidad Prioridad
Panel De Control 24 5 DESC NA Auto Auto DESC NORMAL
Informes 25 6 DESC NA Auto Auto DESC NORMAL
Ciencia de los datos 25 4 DESC NA Auto Auto DESC NORMAL
COPIA 25 3 DESC NA Auto Auto DESC NORMAL
Predeterminado 1 1 DESC NA Auto Auto DESC NORMAL

Ejecutamos la prueba de referencia usando dos 8 nodos ra3.4xgrande instancias, una para cada configuración. La misma carga de trabajo se ejecutó en ambos clústeres durante 12 horas.

Resumen de Resultados

Observamos que el WLM manual y automático tenían tiempos de respuesta similares para COPY, pero el WLM automático aumentó significativamente los tiempos de respuesta de las consultas DATASCIENCE, REPORT y DASHBOARD, lo que resultó en un alto rendimiento para las consultas DASHBOARD (consultas cortas frecuentes).

Dado el mismo entorno controlado (clúster, conjunto de datos, consultas, simultaneidad), Auto WLM con simultaneidad adaptativa administró la carga de trabajo de manera más eficiente y proporcionó un mayor rendimiento que la configuración manual de WLM. La gestión de memoria mejor y más eficiente permitió Auto WLM con simultaneidad adaptativa para mejorar el rendimiento general. La eliminación de la partición de memoria estática creó una oportunidad para un mayor paralelismo. Las consultas más cortas se procesaron a través de Auto WLM, mientras que las consultas de ejecución más prolongada tuvieron un rendimiento similar. Para optimizar el rendimiento general, el control de concurrencia adaptable mantuvo el número de consultas de ejecución más prolongada al mismo nivel, pero permitió que se ejecutaran en paralelo más consultas de ejecución corta.

Resultados detallados

En esta sección, revisamos los resultados con más detalle.

Rendimiento y tiempos de respuesta promedio

La siguiente tabla resume el rendimiento y los tiempos de respuesta promedio, durante un tiempo de ejecución de 12 horas. El tiempo de respuesta es tiempo de ejecución + tiempo de espera en cola.

Configuración de WLM Tipo de consulta Recuento de consultas Tiempo de respuesta total (segundos) Tiempo de respuesta promedio (segundos)
Auto COPIA 72 1329 18.46
Manual COPIA 72 1271 17.65
Auto DASH 126102 271691 2.15
Manual DASH 109774 304551 2.77
Auto CIENCIA DE LOS DATOS 166 20768 125.11
Manual CIENCIA DE LOS DATOS 160 32603 203.77
Auto INFORME 247 38986 157.84
Manual INFORME 230 55693 242.14
Total automático 126587 332774 2.63
Total manual 110236 394118 3.58
Automático sobre manual (%) 14.83% - 26.47%

El siguiente gráfico muestra la ganancia de rendimiento (consultas por hora) (rendimiento automático) con respecto al manual (cuanto más alto, mejor).

El siguiente gráfico muestra el tiempo medio de respuesta de cada consulta (cuanto más bajo, mejor).

Tiempos de finalización de grupo por consulta

Los siguientes datos de resultados muestran un claro cambio hacia la izquierda para Auto WLM. Más y más consultas completadas en menos tiempo con Auto WLM.

% de consultas completadas en
Configuración de WLM Consultas totales segundos 0-5 segundos 6-30 segundos 31-60 segundos 61-120 segundos 121-300 segundos 301-900 Más de 900 segundos
Manual 110155 87.14 11.37 1.2 0.09 0.1 0.09 0.01
Auto 126477 92.82 6.06 0.85 0.13 0.09 0.03 0.01

El siguiente cuadro visualiza estos resultados.

Consultar latencia y contar a lo largo del tiempo

Como podemos ver en los siguientes gráficos, Auto WLM reduce significativamente los tiempos de espera de la cola en el clúster.

El siguiente gráfico muestra el recuento de consultas procesadas por hora (cuanto más alto, mejor).

El siguiente gráfico muestra el recuento de consultas en cola (cuanto más bajo, mejor).

El siguiente gráfico muestra el tiempo total de espera en cola por hora (cuanto más bajo, mejor).

Derrame temporal de datos al disco

Debido a que estimó correctamente los requisitos de memoria en tiempo de ejecución de la consulta, la configuración automática de WLM pudo reducir el derrame de tiempo de ejecución de bloques temporales en el disco. Básicamente, una gran parte de las consultas tenía suficiente memoria mientras se ejecutaban para que esas consultas no tuvieran que escribir bloques temporales en el disco, lo cual es bueno. Esto, a su vez, mejora el rendimiento de las consultas.

El siguiente gráfico muestra que las consultas DASHBOARD no se derramaron y que las consultas COPY sí lo hicieron.

Auto WLM supera a la configuración manual

Según estas pruebas, Auto WLM fue una mejor opción que la configuración manual. Si observamos los tres aspectos principales en los que Auto WLM proporciona mayores beneficios, una carga de trabajo mixta (WLM manual con múltiples colas) obtiene la mayor cantidad de beneficios utilizando Auto WLM. La mayoría de las cargas de trabajo de los grandes almacenes de datos consisten en una combinación bien definida de consultas cortas, medianas y largas, con algún proceso ETL encima. Por tanto, los grandes sistemas de almacenamiento de datos tienen varias colas para optimizar los recursos para esas cargas de trabajo específicas. Además, la superposición de estas cargas de trabajo puede ocurrir a lo largo de un día normal. Si el clúster de Amazon Redshift tiene una buena combinación de cargas de trabajo y no se superponen entre sí el 100% del tiempo, Auto WLM puede usar esos recursos infrautilizados y proporcionar un mejor rendimiento para otras colas.

Conclusión

Nuestra prueba demostró que Auto WLM con simultaneidad adaptativa supera al WLM manual bien ajustado para cargas de trabajo mixtas. Si está utilizando WLM manual con sus clústeres de Amazon Redshift, le recomendamos que utilice Auto WLM para aprovechar sus beneficios. Además, Auto WLM proporciona la función de prioridades de consulta, que alinea el programa de carga de trabajo con las necesidades críticas de su negocio.

Para obtener más información sobre Auto WLM, consulte Implementación de WLM automático y del scripts de definición y carga de trabajo para el punto de referencia.


Acerca de los autores

raj sett es ingeniero de base de datos en Amazon Redshift. Le apasiona optimizar la carga de trabajo y colaborar con los clientes para aprovechar al máximo Redshift. Fuera del trabajo, le encanta conducir y explorar nuevos lugares.

Pablo Lapas es gerente principal de productos en Amazon Redshift. A Paul le apasiona ayudar a los clientes a aprovechar sus datos para obtener conocimientos y tomar decisiones comerciales críticas. En su tiempo libre, a Paul le gusta jugar al tenis, cocinar y pasar tiempo con su esposa y sus dos hijos.

Gaurav Saxena es ingeniero de software en el equipo de procesamiento de consultas de Amazon Redshift. Trabaja en varios aspectos de la gestión de la carga de trabajo y las mejoras de rendimiento para Amazon Redshift. En su tiempo libre, le encanta jugar juegos en su PlayStation.

Mohammad Rezaur Rahman es ingeniero de software en el equipo de procesamiento de consultas de Amazon Redshift. Se centra en la gestión de la carga de trabajo y la programación de consultas. En su tiempo libre, le encanta pasar tiempo al aire libre con su familia.

Fuente: https://aws.amazon.com/blogs/big-data/benchmarking-the-performance-of-the-new-auto-wlm-with-adaptive-concurrency-in-amazon-redshift/

Sello de tiempo:

Mas de AWS