Gestione dei carichi 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à.

Gestione dei carichi di lavoro

Puoi configurare Amazon Redshift WLM per l'esecuzione automatica WLM o manuale. WLM

Con Amazon Redshift, puoi gestire e assegnare priorità alle query e ai carichi di lavoro degli utenti simultanei per ottimizzare le prestazioni e l'utilizzo delle risorse. La gestione del carico di lavoro (WLM) consente di definire code, gruppi di utenti e altri costrutti per controllare le risorse allocate a diversi tipi di query o utenti.

Le seguenti sezioni descrivono le funzionalità specifiche di gestione dei carichi di lavoro in Amazon Redshift e ti guidano nella loro configurazione e monitoraggio.

Automatico WLM

Per massimizzare la velocità di trasmissione del sistema e utilizzare le risorse in modo efficace, puoi consentire ad Amazon Redshift di gestire la suddivisione delle risorse per eseguire query simultanee con modalità automatica. WLM WLMGestisce automaticamente le risorse necessarie per eseguire le query. Amazon Redshift determina la quantità di query eseguite simultaneamente e la quantità di memoria allocata a ogni query inviata. Usa Auto WLM se desideri che Amazon Redshift gestisca la suddivisione delle risorse per eseguire query simultanee. Per ulteriori informazioni, consulta Implementazione automatica WLM.

Grazie alla scalabilità simultanea e automaticaWLM, puoi supportare un numero pressoché illimitato di utenti e query simultanee, con prestazioni di query costantemente elevate. Per ulteriori informazioni, consulta Dimensionamento simultaneo.

Nota

Nella maggior parte dei casi si consiglia di utilizzare la modalità automatica. WLM Se utilizzi la modalità manuale WLM e desideri migrare da quella automaticaWLM, consultaMigrazione da manuale a automatica WLM WLM.

Con AutoWLM, è possibile definire le priorità delle query per i carichi di lavoro in coda. Per ulteriori informazioni sulla priorità delle query, consulta Priorità delle query.

Manuale WLM

È possibile che più sessioni o utenti eseguano query contemporaneamente. Alcune query potrebbero consumare le risorse del cluster per lunghi periodi e influire sulle prestazioni di altre. Il manuale WLM può aiutare a gestire questo problema per casi d'uso specializzati. Usa Manual WLM quando desideri un maggiore controllo sulla concorrenza.

È possibile gestire le prestazioni del sistema modificando la WLM configurazione per creare code separate per le query di lunga durata e le query di breve durata. In fase di runtime, puoi indirizzare le query a queste code in base ai gruppi di utenti o ai gruppi di query.

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 delle query () QMR per limitare le query a esecuzione prolungata. Per ulteriori informazioni, consulta Manuale di implementazione WLM.

Nota

Si consiglia di configurare le code di WLM interrogazione manuali con un totale di 15 o meno slot di query. Per ulteriori informazioni, consulta Livello di simultaneità.

Tieni presente che per quanto riguarda la WLM configurazione manuale, gli slot massimi che puoi assegnare a una coda è 50. Tuttavia, ciò non significa che in una WLM configurazione automatica, un cluster 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.

Modalità di commutazione WLM

Puoi abilitare la modalità automatica o manuale WLM utilizzando la console Amazon Redshift:

  1. Scegli la WLMmodalità Switch.

  2. Per impostarla su automaticaWLM, scegli Auto WLM. 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. Inoltre, la priorità predefinita delle interrogazioni è impostata su Normale.

  3. Per abilitare la configurazione manuale utilizzando la console Amazon Redshift, passa a Manuale. WLM 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.

Modifica della configurazione WLM

Il modo più semplice per modificare la WLM configurazione è utilizzare la console Amazon Redshift. Puoi anche usare Amazon RedshiftAPI. AWS CLI

Quando cambi il cluster tra automatico e manualeWLM, il cluster viene messo in pending reboot stato. La modifica non ha effetto fino al riavvio successivo del cluster.

Per informazioni dettagliate sulla modifica delle WLM configurazioni, consulta Configuring Workload Management nella Amazon Redshift Management Guide.

Migrazione da manuale a automatica WLM WLM

Per massimizzare la velocità di trasmissione del sistema e utilizzare le risorse nel modo più efficace, si consiglia di impostare la modalità automatica WLM per le code. Prendi in considerazione l'approccio seguente per impostare una transizione graduale dalla modalità manuale WLM a quella automatica. WLM

Per migrare dalla modalità manuale WLM a quella automatica WLM e utilizzare le priorità delle query, si consiglia di creare un nuovo gruppo di parametri e quindi di allegare tale gruppo di parametri al cluster. Per ulteriori informazioni, consulta Gruppi di parametri di Amazon Redshift nella Guida alla gestione di Amazon Redshift.

Importante

Per modificare il gruppo di parametri o passare dalla modalità manuale a quella automatica è WLM necessario il riavvio del cluster. Per ulteriori informazioni, consulta WLMproprietà di configurazione dinamiche e statiche.

Facciamo un esempio in cui ci sono tre WLM code manuali. Uno ciascuno per un ETL carico di lavoro, un carico di lavoro di analisi e un carico di lavoro di data science. Il ETL carico di lavoro viene eseguito ogni 6 ore, il carico di lavoro di analisi viene eseguito nell'arco della giornata e il carico di lavoro della scienza dei dati può aumentare in qualsiasi momento. Con manualWLM, puoi specificare la memoria e la concomitanza di ogni coda di carico di lavoro in base alla tua comprensione dell'importanza di ogni carico di lavoro per l'azienda. Specificare la memoria e la simultaneità non è solo difficile da immaginare, ma produce anche un partizionamento statico delle risorse del cluster, che vengono così sprecate se è in esecuzione solo un sottoinsieme dei carichi di lavoro.

È possibile utilizzare la modalità automatica WLM con priorità di interrogazione per indicare le priorità relative dei carichi di lavoro, evitando i problemi precedenti. Per questo esempio, effettua la procedura riportata di seguito:

  • Crea un nuovo gruppo di parametri e passa alla modalità Auto WLM.

  • Aggiungi code per ciascuno dei tre carichi di lavoro: carico di lavoro, ETL carico di lavoro di analisi e carico di lavoro di data science. Utilizza gli stessi gruppi di utenti per ogni carico di lavoro utilizzato con la modalità Manuale. WLM

  • Imposta la priorità per il ETL carico di lavoroHigh, per il carico di lavoro di analisi e per Normal la scienza dei dati. Low Tali priorità rispecchiano le priorità aziendali dei diversi carichi di lavoro o gruppi di utenti.

  • Facoltativamente, abilita la scalabilità simultanea per la coda di analisi o data science in modo che le query in queste code ottengano prestazioni costanti anche quando il carico di lavoro viene eseguito ogni 6 ore. ETL

Con le priorità di query, quando solo il carico di lavoro analitico è in esecuzione nel cluster, riceve tutte le risorse. Ciò garantisce una velocità di trasmissione effettiva elevata con un migliore utilizzo del sistema. Tuttavia, quando il ETL carico di lavoro inizia, prende il sopravvento, poiché ha una priorità più elevata. Le interrogazioni eseguite nell'ambito del ETL carico di lavoro hanno la priorità durante l'ammissione, oltre all'allocazione preferenziale delle risorse dopo l'ammissione. Di conseguenza, il ETL carico di lavoro funziona in modo prevedibile indipendentemente da cos'altro potrebbe essere in esecuzione sul sistema. Le prestazioni prevedibili di un carico di lavoro con priorità elevata sono disponibili a scapito di altri carichi di lavoro con priorità minore che vengono eseguiti per un tempo più lungo, perché le query attendono il completamento di query più importanti. Oppure perché ricevono una frazione più piccola di risorse quando vengono eseguite simultaneamente a query con priorità maggiore. Gli algoritmi di pianificazione utilizzati da Amazon Redshift fanno in modo che le query con priorità minori non soffrano di un uso scarso delle risorse, ma che continuino ad avanzare, seppure a un ritmo più lento.

Nota
  • Il campo di timeout non è disponibile in modalità automatica. WLM Usa invece la QMR regola,query_execution_time. Per ulteriori informazioni, consulta WLMregole di monitoraggio delle interrogazioni.

  • L'QMRazione non è applicabile alla modalità automaticaWLM. HOP Utilizza invece l'operazione change priority. Per ulteriori informazioni, consulta WLMregole di monitoraggio delle interrogazioni.

  • I cluster utilizzano le WLM code automatiche WLM e manuali in modo diverso, il che può creare confusione con le configurazioni. Ad esempio, è possibile configurare la proprietà priority nelle WLM code automatiche ma non nelle code manuali. WLM Pertanto, evitate di mescolare WLM code automatiche e WLM code manuali all'interno di un gruppo di parametri. Al contrario, create un nuovo gruppo di parametri durante la migrazione alla modalità automatica. WLM