Implementazione della gestione del carico di lavoro - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Implementazione della gestione del carico di lavoro

Puoi usare la gestione del carico di lavoro (WLM, workload management) per definire più code di query e instradare le query alle code appropriate in fase di runtime.

In alcuni casi, potrebbero esserci più sessioni o utenti che eseguono query contemporaneamente. In questi casi, alcune query potrebbero consumare risorse cluster per lunghi periodi di tempo e influire sulle prestazioni di altre query. Ad esempio, supponiamo che un gruppo di utenti invii occasionalmente query complesse a esecuzione prolungata che selezionano e ordinano le righe da diverse tabelle di grandi dimensioni. Supponiamo anche che un altro gruppo invii frequentemente query brevi che selezionano solo poche righe da una o due tabelle e che vengono eseguite in pochi secondi. In questa situazione, le query a esecuzione breve potrebbero dover attendere in coda il completamento della query a esecuzione prolungata. WLM aiuta a gestire questa situazione.

È possibile configurare la funzionalità WLM di Amazon Redshift affinché venga eseguita in modalità automatica o manuale.

WLM automatico

Per massimizzare la velocità effettiva del sistema e utilizzare le risorse in modo efficace, è possibile consentire ad Amazon Redshift di gestire il modo in cui le risorse sono divise per l'esecuzione simultanea di query con la WLM automatica. La gestione del carico di lavoro (WLM) automatica gestisce le risorse necessarie per eseguire query. Amazon Redshift determina la quantità di query eseguite simultaneamente e la quantità di memoria allocata a ogni query inviata. È possibile abilitare la WLM automatica utilizzando la console Amazon Redshift scegliendo Cambia modalità WLM, quindi WLM automatica. In questo modo, vengono utilizzate fino a otto code per gestire le query ed entrambi i campi Memory (Memoria) e Concurrency on main (Simultaneità su principale) sono impostati su auto. Puoi specificare una priorità che rispecchi la priorità aziendale del carico di lavoro o degli utenti mappati a ogni coda. La priorità predefinita delle query è impostata su Normal (Normale). Per informazioni su come modificare la priorità delle query in una coda, consultare Priorità delle query. Per ulteriori informazioni, consultare Implementazione del WLM automatico.

In fase di runtime, puoi indirizzare le query a queste code in base ai gruppi di utenti o ai gruppi di query. È inoltre possibile configurare una regola di monitoraggio di query (QMR) per limitare le query con tempi di esecuzione lunghi.

Utilizzando il dimensionamento simultaneo e il WLM automatico, puoi supportare un numero virtualmente illimitato di utenti simultanei e query simultanee, con prestazioni di query a velocità costante. Per ulteriori informazioni, consultare Utilizzo del dimensionamento della simultaneità.

Nota

Consigliamo di creare un gruppo di parametri e di scegliere il WLM automatico per gestire le risorse delle query. Per informazioni dettagliate su come migrare da WLM manuale a WLM automatica, consultare Migrazione da WLM manuale a WLM automatico.

WLM manuale

In alternativa, puoi gestire le prestazioni del sistema e l'esperienza degli utenti modificando la configurazione WLM per creare code separate per le query a esecuzione prolungata e le query a esecuzione breve. In fase di runtime, puoi indirizzare le query a queste code in base ai gruppi di utenti o ai gruppi di query. È possibile abilitare la configurazione manuale tramite la console Amazon Redshift impostando WLM manuale. In questo modo, specifichi le code utilizzate per gestire le query e i valori dei campi Memory (Memoria) e Concurrency on main (Simultaneità su principale). Con la configurazione manuale, puoi configurare fino a otto code di query e impostare il numero di query che possono essere eseguite contemporaneamente in ciascuna di queste code.

Puoi impostare le regole per indirizzare le query alle specifiche code in base all'utente che esegue la query o alle etichette specificate. Puoi inoltre configurare la quantità di memoria allocata a ciascuna coda, in modo che le query di grandi dimensioni vengano eseguite nelle code con più memoria rispetto alle altre code. È inoltre possibile configurare una regola di monitoraggio di query (QMR) per limitare le query con tempi di esecuzione lunghi. Per ulteriori informazioni, consultare Implementazione di WLM manuale.

Nota

Consigliamo di configurare le code di query WLM manuale con al massimo un totale di 15 slot di query. Per ulteriori informazioni, consulta Livello di simultaneità.

Limitazioni delle code WLM

Si noti che per quanto riguarda una configurazione WLM manuale, il numero massimo di slot che è possibile allocare a una coda è 50. Tuttavia, ciò non significa che in una configurazione WLM automatica, un cluster di Amazon Redshift esegua sempre 50 query contemporaneamente. Questo può cambiare in base alle esigenze di memoria o ad altri tipi di allocazione delle risorse nel cluster.

Casi d'uso per Auto WLM e Manual WLM

Usa Auto WLM se desideri che Amazon Redshift gestisca il modo in cui le risorse sono divise per l'esecuzione simultanea di query. L'utilizzo di Auto WLM spesso comporta una velocità di trasmissione effettiva più elevata rispetto a Manual WLM. Con Auto WLM, puoi definire le priorità delle query per i carichi di lavoro in coda. Per ulteriori informazioni sulla priorità delle query, consulta Priorità delle query.

Usa Manual WLM quando desideri un maggiore controllo sulla simultaneità.