Administración de la carga de trabajo - Amazon Redshift

Administración de la carga de trabajo

Es posible configurar la WLM de Amazon Redshift para su ejecución con WLM automática o manual.

Con Amazon Redshift, puede administrar y priorizar las consultas simultáneas y las cargas de trabajo de los usuarios para optimizar el rendimiento y el uso de los recursos. La administración de la carga de trabajo (WLM) le permite definir colas, grupos de usuarios y otras estructuras para controlar los recursos asignados a los distintos tipos de consultas o usuarios.

En las siguientes secciones se describen las características específicas de administración de la carga de trabajo de Amazon Redshift y se explica cómo configurarlas y supervisarlas.

WLM automática

Para maximizar el rendimiento del sistema y utilizar los recursos de forma eficaz, puede habilitar a Amazon Redshift para que administre el modo en que se reparten los recursos para ejecutar consultas simultáneas con la WLM automática. La WLM automática administra los recursos necesarios para la ejecución de consultas. Amazon Redshift determina cuántas consultas se ejecutan de forma simultánea y cuánta memoria se asigna a cada consulta enviada. Utilice WLM automática cuando quiera que Amazon Redshift administre el modo en que se dividen los recursos para ejecutar consultas simultáneas. Para obtener más información, consulte Implementación de WLM automática.

Trabajando con el escalado de simultaneidad y la WLM automática, puede permitir un número prácticamente ilimitado de consultas y usuarios simultáneos con un rendimiento de las consultas rápido en todo momento. Para obtener más información, consulte Escalado de simultaneidad.

nota

En la mayoría de los casos le recomendamos que utilice WLM automática. Si utiliza WLM manual y desea migrar a la WLM automática, consulte Migración desde WLM manual a WLM automática.

Con WLM automática, es posible definir las prioridades de consulta para las cargas de trabajo de una cola. Para obtener más información acerca de la prioridad de una consulta, consulte Prioridad de consulta.

WLM manual

Puede tener varias sesiones o usuarios que estén ejecutando consultas al mismo tiempo. Algunas consultas pueden consumir recursos del clúster durante largos periodos y afectar el rendimiento de otras. WLM manual puede ayudar a administrar esto para casos de uso especializados. Utilice WLM manual cuando desee tener más control sobre la simultaneidad.

Puede administrar el rendimiento del sistema si modifica la configuración de la WLM para crear colas separadas para las consultas de ejecución prolongada y de ejecución corta. En el tiempo de ejecución, puede dirigir las consultas a estas colas según los grupos de usuarios o de consultas.

Puede configurar reglas para dirigir consultas a colas particulares en función del usuario que ejecuta la consulta o las etiquetas que especifique. También puede configurar la cantidad de memoria asignada a cada cola, de modo que las consultas grandes se ejecuten en las colas que tienen más memoria que otras. También puede configurar una regla de monitorización de consultas (QMR) para limitar las consultas de ejecución prolongada. Para obtener más información, consulte Implementación de WLM manual.

nota

Le recomendamos que configure las colas de consultas de WLM manual con un total de 15 o menos slots de consulta. Para obtener más información, consulte Nivel de simultaneidad.

Tenga en cuenta que, en lo que respecta a la configuración de WLM manual, el máximo de ranuras que puede asignar a una cola es de 50. No obstante, esto no significa que en una configuración de WLM automática, un clúster de Amazon Redshift ejecute siempre 50 consultas simultáneamente. Esto puede cambiar, según las necesidades de memoria u otros tipos de asignación de recursos en el clúster.

Cambio del modo de WLM

Puede habilitar WLM manual o automática mediante la consola de Amazon Redshift:

  1. Elija Switch WLM mode (Cambiar modo de WLM).

  2. Para establecer a WLM automática, elija WLM automática. Con esta opción, se utilizan hasta ocho colas para administrar consultas y los campos Memory (Memoria) y Concurrency on main (Simultaneidad en principal) se establecen ambos en Auto (Automático). Además, la prioridad predeterminada de las consultas se establece en Normal.

  3. Para habilitar la configuración manual mediante la consola de Amazon Redshift, cambie a WLM manual. Con esta opción, especifica las colas que se utilizan para administrar consultas y los valores de los campos Memory (Memoria) y Concurrency on main (Simultaneidad en principal). Con una configuración manual, puede configurar hasta ocho colas de consultas y definir el número de consultas que se pueden ejecutar simultáneamente en cada una de estas colas.

Modificación de la configuración de WLM

La manera más fácil de modificar la configuración de WLM es a través de la consola de Amazon Redshift. También puede utilizar la AWS CLI o la API de Amazon Redshift.

Al cambiar el clúster entre WLM automática y manual, el clúster se pone en estado pending reboot. El cambio no surte efecto hasta que se reinicia el siguiente clúster.

Para obtener información detallada sobre cómo modificar las configuraciones de WLM, consulte Configuración de la administración de cargas de trabajo en la Guía de administración de Amazon Redshift.

Migración desde WLM manual a WLM automática

Para maximizar el rendimiento del sistema y utilizar recursos de manera más eficaz, le recomendamos que configure WLM automáticas para sus colas. Plantéese adoptar el enfoque siguiente para configurar una transición suave desde WLM manual a WLM automática.

Para migrar de WLM manual a WLM automática y utilizar prioridades de consulta, le recomendamos crear un nuevo grupo de parámetros y, a continuación, asociarlo a su clúster. Para obtener más información, consulte Grupos de parámetros de Amazon Redshift en la Guía de administración de Amazon Redshift.

importante

Para cambiar el grupo de parámetros o para cambiar de WLM manual a automática se requiere un reinicio del clúster. Para obtener más información, consulte Propiedades de configuración dinámicas y estáticas de WLM.

Tomemos un ejemplo donde hay tres colas de WLM manual. Una para una carga de trabajo de ETL, una carga de trabajo de análisis y una carga de trabajo de ciencia de datos. La carga de trabajo de ETL se ejecuta cada 6 horas, la carga de trabajo de análisis se ejecuta durante el día y la carga de trabajo de ciencia de datos puede tener un pico en cualquier momento. Con la WLM manual, especifica la memoria y la simultaneidad que obtiene cada cola de carga de trabajo en función de su comprensión de la importancia de cada carga de trabajo para el negocio. Especificar la memoria y la simultaneidad no solo es difícil de averiguar, sino que también da lugar a que los recursos del clúster se particionen estáticamente y, por tanto, se desaprovechen cuando solo está funcionando un subconjunto de las cargas de trabajo.

Puede utilizar WLM automático con prioridades de consulta para indicar las prioridades relativas de las cargas de trabajo, evitando los problemas anteriores. Para este ejemplo, siga estos pasos:

  • Cree un nuevo grupo de parámetros y cambie al modo Auto WLM (WLM automática).

  • Añada colas para cada una de las tres cargas de trabajo: carga de trabajo de ETL, carga de trabajo de análisis y carga de trabajo de ciencia de datos. Utilice los mismos grupos de usuarios en cada carga de trabajo que usó en el modo Manual WLM (WLM manual).

  • Establezca la prioridad de la carga de trabajo de ETL en High, la carga de trabajo de análisis en Normal y la ciencia de datos en Low. Estas prioridades reflejan sus prioridades de negocio para las distintas cargas de trabajo o grupos de usuarios.

  • También puede habilitar el escalado de simultaneidad para la cola de análisis o de ciencia de datos de modo que las consultas en estas colas consigan un rendimiento coherente incluso cuando la carga de trabajo de ETL se ejecuta cada 6 horas.

Con las prioridades de consulta, cuando solo se ejecuta la carga de trabajo de análisis en el clúster, este obtiene todo el sistema para sí. Así se obtiene un alto rendimiento con una mejor utilización del sistema. Sin embargo, cuando se inicia la carga de trabajo de ETL, obtiene el derecho de paso ya que tiene una prioridad más alta. Las consultas que se ejecutan como parte de la carga de trabajo de ETL obtienen prioridad durante la admisión, además de la asignación de recursos preferente después de que se admitan. En consecuencia, la carga de trabajo de ETL tiene un rendimiento predecible con independencia de los demás elementos que se estén ejecutando en el sistema. El rendimiento predecible para una carga de trabajo de alta prioridad conlleva el costo de otras cargas de trabajo de prioridad inferior que se ejecutan durante más tiempo ya que sus consultas están esperando a que se completen consultas más importantes. O, dado que están obteniendo una fracción de recursos inferior cuando se ejecutan de forma simultánea con consultas de prioridad más alta. Los algoritmos de programación utilizados por Amazon Redshift facilitan que las consultas de prioridad más baja no sufran de agotamiento, sino que sigan avanzando, aunque a un ritmo más lento.

nota
  • El campo de tiempo de espera no está disponible en WLM automática. En su lugar, utilice la regla de QMR, query_execution_time. Para obtener más información, consulte Reglas de monitoreo de consultas de WLM.

  • La acción de QMR, HOP, no es aplicable a la WLM automática. En su lugar, utilice la acción change priority. Para obtener más información, consulte Reglas de monitoreo de consultas de WLM.

  • Los clústeres utilizan las colas de WLM automáticas y manuales de forma diferente, lo que puede crear confusión con sus configuraciones. Por ejemplo, puede configurar la propiedad de prioridad en las colas de WLM automáticas, pero no en las colas de WLM manuales. Por ello, evite mezclar colas de WLM automáticas y colas de WLM manuales en un grupo de parámetros. En su lugar, cree un grupo de parámetros al migrar a la WLM automática.