Gerenciamento do workload
Você pode configurar o WLM do Amazon Redshift para ser executado com WLM automático ou WLM manual.
Com o Amazon Redshift, é possível gerenciar e priorizar workloads de usuários e consultas simultâneas para otimizar o desempenho e a utilização de recursos. O gerenciamento de workloads (WLM) permite definir filas, grupos de usuários e outros constructos para controlar os recursos alocados a diferentes tipos de consulta ou usuário.
As seções a seguir descrevem os recursos específicos de gerenciamento de workloads no Amazon Redshift e oferecem orientações sobre como configurá-los e monitorá-los.
WLM automático
Para maximizar a taxa de transferência do sistema e usar os recursos de maneira eficaz, você pode habilitar o Amazon Redshift para gerenciar como os recursos são divididos para executar consultas simultâneas com WLM automático. O WLM automático gerencia os recursos necessários para executar consultas. O Amazon Redshift determina quantas consultas são executadas simultaneamente e quanta memória é alocada para cada consulta enviada. Use WLM automático quando você quiser que o Amazon Redshift gerencie como os recursos devem ser divididos para executar consultas simultâneas. Para ter mais informações, consulte Implementar o WLM automático.
Ao trabalhar com a escalabilidade da simultaneidade e com o WLM automático, é possível oferecer suporte a praticamente infinitos usuários e consultas simultâneos, com performance de consultas consistentemente rápida. Para ter mais informações, consulte Escalabilidade da simultaneidade.
nota
Na maioria dos casos, recomendamos que você use o WLM automático. Se você estiver usando o WLM manual e quiser migrar para o WLM automático, consulte Migrar do WLM manual para o WLM automático.
Com o WLM automático, é possível definir prioridades de consulta para workloads em uma fila. Para obter mais informações sobre prioridade de consultas, acesse Prioridade da consulta.
WLM manual
Você poderá ter várias sessões ou usuários executando consultas ao mesmo tempo. Algumas consultas poderão consumir recursos de cluster por períodos longos e afetar a performance de outras. O WLM manual pode ajudar a gerenciar isso para casos de uso especializados. Use WLM manual quando quiser ter maior controle sobre a simultaneidade.
É possível gerenciar o desempenho do sistema modificando a configuração do WLM a fim de criar filas separadas para as consultas demoradas e as rápidas. No tempo de execução, é possível rotear consultas para essas filas de acordo com grupos de usuários ou de consultas.
Você pode configurar regras a fim de rotear consultas para filas em especial com base no usuário que executa a consulta ou nos rótulos especificados por você. Você também pode configurar o valor de memória alocada para cada fila, de maneira que consultas grandes sejam executadas em filas com mais memória do que outras filas. Você também pode configurar uma regra de monitoramento de consulta (QMR) para limitar as consultas de longa execução. Para ter mais informações, consulte Implementar o WLM manual.
nota
Recomendamos a configuração de suas filas de consultas de WLM manual com um total de 15 slots de consulta ou menos. Para ter mais informações, consulte Nível de simultaneidade.
Observe que em uma configuração de WLM manual, a quantidade máxima de slots que você pode alocar para uma fila é 50. No entanto, isso não significa que um cluster do Amazon Redshift sempre execute 50 consultas simultaneamente em uma configuração de WLM automático. Isso pode mudar com base nas necessidades de memória ou em outros tipos de alocação de recursos no cluster.
Tópicos
Alternar o modo do WLM
É possível habilitar o WLM automático ou manual usando o console do Amazon Redshift:
Escolha Switch WLM mode (Alternar modo de WLM).
Para configurá-lo como WLM automático, escolha WLM automático. Com essa opção, até oito filas são usadas para gerenciar consultas e os campos Memory (Memória) e Concurrency on main (Simultaneidade no principal) são definidos como auto (automático). Além disso, a prioridade padrão das consultas está definida como Normal.
-
Para habilitar a configuração manual usando o console do Amazon Redshift, mude para o WLM manual. Com essa opção, especifique as filas usadas para gerenciar consultas e os valores dos campos Memory (Memória) e Concurrency on main (Simultaneidade no principal). Com uma configuração manual, é possível configurar até oito filas de consultas e definir o número de consultas que pode ser executado em cada uma dessas filas simultaneamente.
Modificar a configuração do WLM
A maneira mais fácil de modificar a configuração do WLM é usando o console do Amazon Redshift. Você também pode usar a AWS CLI ou a API do Amazon Redshift.
Ao alternar o cluster entre WLM automático e manual, ele é colocado no estado pending reboot
. A alteração não entra em vigor até que o próximo cluster seja reinicializado.
Para obter informações detalhadas sobre como modificar as configurações do WLM, consulte “Configurar o gerenciamento de workload” no Guia de gerenciamento de clusters do Amazon Redshift.
Migrar do WLM manual para o WLM automático
Para maximizar a taxa de transferência do sistema e usar os recursos de maneira mais efetiva, recomendamos que você configure o WLM automático para as filas. Considere adotar a abordagem a seguir para configurar uma transição tranquila do WLM manual para o WLM automático.
Para migrar de WLM manual para WLM automático e usar prioridades de fila, recomendamos que você crie um grupo de parâmetros e anexe-o ao cluster. Para obter mais informações, consulte “Grupos de parâmetros do Amazon Redshift” no Guia de gerenciamento de clusters do Amazon Redshift.
Importante
Alterar o grupo de parâmetros ou mudar de WLM manual para automático exige uma reinicialização do cluster. Para ter mais informações, consulte Propriedades de configuração dinâmicas e estáticas do WLM.
Vamos ver um exemplo no qual há três filas manuais do WLM. Uma para uma workload de ETL, outra para uma workload de análise e mais uma para uma workload de ciência de dados. O workload de ETL é executado a cada 6 horas, o workload de análise é executado durante todo o dia e o workload de ciência de dados pode apresentar períodos de pico a qualquer momento. Com o WLM manual, especifique a memória e a simultaneidade que cada fila de workload obtém com base na sua compreensão da importância de cada uma delas para os negócios. A especificação da memória e da simultaneidade não é só difícil de descobrir, mas também faz com que os recursos do cluster sejam particionados estaticamente e, portanto, sejam desperdiçados quando somente um subconjunto das workloads está em execução.
É possível usar o WLM automático com prioridades de consulta para indicar as prioridades relativas dos workloads, evitando os problemas anteriores. Para este exemplo, siga as seguintes etapas:
Crie um grupo de parâmetros e alterne para o modo Auto WLM (WLM automático).
Adicione filas para cada uma das três workloads: workload de ETL, workload de análise e workload de ciência de dados. Use os mesmos grupos de usuários para cada workload usado com o modo Manual WLM (WLM manual).
Defina a prioridade para o workload de ETL como
High
, a do workload de análise comoNormal
e a de ciência de dados comoLow
. Essas prioridades refletem as prioridades de seus negócios para as diferentes workloads ou grupos de usuários.Opcionalmente, habilite a escalabilidade da simultaneidade para a fila de análise ou de ciência de dados para que as consultas nessas filas obtenham uma performance consistente, mesmo quando a workload de ETL estiver sendo executada a cada 6 horas.
Com as prioridades de consulta, quando somente a workload de análise estiver em execução no cluster, ela obterá o sistema todo para si mesma. Isso gera alto throughput com melhor utilização do sistema. No entanto, quando o workload de ETL é iniciado, ele obtém a precedência, já que tem uma prioridade maior. As consultas em execução como parte da workload de ETL obtêm prioridade durante a admissão, além de alocação de recursos preferencial após serem admitidas. Como consequência, o workload de ETL é executado de maneira previsível, independentemente do que mais possa estar sendo executado no sistema. A performance previsível para uma workload de alta prioridade ocorre em detrimento de outra. As workloads de baixa prioridade que são executadas por mais tempo, seja porque as consultas estão aguardando que consultas mais importantes sejam concluídas. Ou porque eles estão recebendo uma fração menor de recursos quando são executados simultaneamente com consultas de prioridade mais alta. Os algoritmos de programação usados pelo Amazon Redshift possibilitam que as consultas de prioridade mais baixa não sofram de inanição, mas continuem progredindo, embora em um ritmo mais lento.
nota
O campo de tempo limite não está disponível para WLM automático. Em vez disso, use a regra QMR,
query_execution_time
. Para ter mais informações, consulte Regras de monitoramento de consulta do WLM.A ação de QMR, HOP, não se aplica a WLM automático. Em vez disso, use a ação
change priority
. Para ter mais informações, consulte Regras de monitoramento de consulta do WLM.Os clusters usam filas do WLM automático e do WLM manual de forma diferente, o que pode causar confusão com suas configurações. Por exemplo, você pode configurar a propriedade de prioridade em filas do WLM automático, mas não em filas do WLM manual. Dessa forma, evite misturar filas do WLM automático e filas do WLM manual em um grupo de parâmetros. Em vez disso, crie outro grupo de parâmetros ao migrar para o WLM automático.