WLM の動的なメモリ割り当て
各キューでは、WLM によりキューの同時実行レベルと同じ数のクエリスロットが作成されます。クエリスロットに割り当てられるメモリ量は、キューに割り当てられたメモリをスロットカウントで割った割合と同じです。メモリの割り当てや同時実行数を変更すると、Amazon Redshift は新しい WLM 設定への移行を動的に管理します。したがって、アクティブなクエリは、現在割り当てられているメモリ量を使用して完了まで実行できます。同時に、Amazon Redshift はメモリの合計使用量が使用可能なメモリの 100% を超えないようにします。
ワークロードマネージャは、次のプロセスを使用して移行を管理します。
-
WLM は、新しい各クエリスロットへのメモリ割り当てを再計算します。
-
クエリスロットが実行中のクエリによりアクティブに使用されていない場合、WLM によりスロットが削除され、新しいスロットがメモリを使用できるようになります。
-
クエリスロットがアクティブに使用されている場合、WLM はクエリが終了するまで待機します。
-
アクティブなクエリが完了すると、空のスロットが削除され、関連するメモリが解放されます。
-
1 つ以上のスロットを追加するのに必要なメモリが使用可能になると、新しいスロットが追加されます。
-
変更時に実行されていたすべてのクエリが完了すると、スロットカウントは新しい同時実行レベルと同じになり、新しい WLM 設定への移行が完了します。
実際、変更時に実行されていたクエリは、引き続き元のメモリ割り当てを使用します。変更時にキューに入っていたクエリは、新しく利用可能になったスロットにルーティングされます。
移行プロセス中に WLM の動的プロパティが変更された場合、WLM はすぐに現在の状態から新しい設定への移行を開始します。移行のステータスを表示するには、STV_WLM_SERVICE_CLASS_CONFIG システムテーブルにクエリを実行します。