wlm_query_slot_count - Amazon Redshift

wlm_query_slot_count

値 (デフォルトは太字)

~50 (1、1サービスクラスの使用可能なスロットの数 (同時実行レベル) を超えることはできません)

説明

クエリが使用するクエリスロットの数を設定します。

ワークロード管理 (WLM) は、キューに設定された同時実行レベルに従って、サービスクラスのスロットを予約します。例えば、同時実行レベルが 5 に設定されている場合、サービスクラスのスロット数は 5 です。WLM は、サービスクラスが使用できるメモリを各スロットに対して等しく割り当てます。詳細については、「ワークロード管理の実装」を参照してください。

注記

wlm_query_slot_count の値がサービスクラスで使用可能なスロットの数 (同時実行レベル) より大きい場合、クエリは失敗します。エラーが発生した場合は、wlm_query_slot_count を許容される値まで減らします。

割り当てられているメモリの量によってパフォーマンスが大きな影響を受ける処理 (例えば Vacuum など) の場合、wlm_query_slot_count の値を増やすとパフォーマンスが向上することがあります。特に、Vacuum コマンドの処理が遅い場合には、SVV_VACUUM_SUMMARY ビュー内で対応しているレコードを調べます。SVV_VACUUM_SUMMARY ビューで sort_partitions および merge_increments の値が高い (100 近く、または 100 より高い) 場合は、そのテーブルに対して Vacuum を次に実行するときに、wlm_query_slot_count の値を増やしてみてください。

wlm_query_slot_count の値を増やすと、実行できる同時実行クエリの数が制限されます。例えば、サービスクラスの同時実行レベルが 5 で、wlm_query_slot_count が 3 に設定されているものとします。wlm_query_slot_count が 3 に設定されているセッション内で 1 つのクエリが実行されている間は、このクエリに加えて最大 2 個の同時クエリを同じサービスクラス内で実行できます。その後のクエリは、現在実行中のクエリが完了してスロットが解放されるまで、キューで待機しています。

現在のセッションの期間に対して wlm_query_slot_count の値を設定するには、SET コマンドを使用します。

set wlm_query_slot_count to 3;