Esempio di WLM dinamico - 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à.

Esempio di WLM dinamico

Supponiamo che il WLM del cluster sia configurato con due code tramite le seguenti proprietà dinamiche.

Queue Simultaneità % di memoria da usare

1

4

50%

2

4

50%

Ora supponiamo che il tuo cluster abbia 200 GB di memoria disponibile per l'elaborazione delle query. Questo numero è arbitrario e viene utilizzato solo a scopo illustrativo. Come mostra la seguente equazione, a ogni slot sono allocati 25 GB.

(200 GB * 50% ) / 4 slots = 25 GB

Successivamente, modifichi WLM per utilizzare le seguenti proprietà dinamiche.

Queue Simultaneità % di memoria da usare

1

3

75%

2

4

25%

Come mostra la seguente equazione, la nuova allocazione di memoria per ogni slot nella coda 1 è di 50 GB.

(200 GB * 75% ) / 3 slots = 50 GB

Supponiamo che le query A1, A2, A3 e A4 siano in esecuzione quando viene applicata la nuova configurazione e le query B1, B2, B3 e B4 siano in coda. WLM riconfigura dinamicamente gli slot delle query come segue.

Fase Esecuzione di query Conteggio slot corrente Conteggio slot target Memoria allocata Memoria disponibile
1 A1, A2, A3, A4 4 0 100 GB 50 GB
2 A2, A3, A4 3 0 75 GB 75 GB
3 A3, A4 2 0 50 GB 100 GB
4 A3, A4, B1 2 1 100 GB 50 GB
5 A4, B1 1 1 75 GB 75 GB
6 A4, B1, B2 1 2 125 GB 25 GB
7 B1, B2 0 2 100 GB 50 GB
8 B1, B2, B3 0 3 150 GB 0 GB
  1. WLM ricalcola l'allocazione della memoria per ogni slot di query. Originariamente, alla coda 1 erano allocati 100 GB. La nuova coda ha una allocazione totale di 150 GB e pertanto ha immediatamente 50 GB disponibili. La coda 1 ora utilizza quattro slot e il nuovo livello di simultaneità è tre slot, quindi non vengono aggiunti nuovi slot.

  2. Al termine di una query, lo slot viene rimosso e vengono liberati 25 GB. La coda 1 ora ha tre slot e 75 GB di memoria disponibile. La nuova configurazione richiede 50 GB per ogni nuovo slot, ma il nuovo livello di simultaneità è tre slot, quindi non vengono aggiunti nuovi slot.

  3. Al termine di una seconda query, lo slot viene rimosso e vengono liberati 25 GB. La coda 1 ora ha due slot e 100 GB di memoria disponibile.

  4. Viene aggiunto un nuovo slot utilizzando 50 GB di memoria disponibile. La coda 1 ora ha tre slot e 50 GB di memoria disponibile. Le query in coda possono ora essere indirizzate al nuovo slot.

  5. Al termine di una terza query, lo slot viene rimosso e vengono liberati 25 GB. La coda 1 ora ha due slot e 75 GB di memoria disponibile.

  6. Viene aggiunto un nuovo slot utilizzando 50 GB di memoria disponibile. La coda 1 ora ha tre slot e 25 GB di memoria disponibile. Le query in coda possono ora essere indirizzate al nuovo slot.

  7. Al termine di una quarta query, lo slot viene rimosso e vengono liberati 25 GB. La coda 1 ora ha due slot e 50 GB di memoria disponibile.

  8. Viene aggiunto un nuovo slot utilizzando 50 GB di memoria disponibile. La coda 1 ora ha tre slot con 50 GB ciascuno e tutta la memoria disponibile è stata allocata.

La transizione è completa e tutti gli slot di query sono disponibili per le query in coda.