WLM 動態記憶體配置 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

WLM 動態記憶體配置

在每一個佇列中,WLM 會建立一些適合佇列並行層級的查詢槽。配置給查詢槽的記憶體數量等於配置給佇列的記憶體百分比除以槽計數。如果您變更記憶體配置或並行,Amazon Redshift 會動態設法轉移至新的 WLM 組態。因此,作用中查詢可以使用目前配置的記憶體數量,執行到完成為止。同時,Amazon Redshift 會確保記憶體總用量絕不超過 100% 可用的記憶體。

工作負載管理員使用下列程序來管理轉移:

  1. WLM 會重新計算每個新查詢槽的記憶體配置。

  2. 如果執行中的查詢並沒有主動使用某個查詢槽,WLM 會移除此槽,而該記憶體就可以給新的槽使用。

  3. 如果查詢槽目前在使用中,WLM 會等待查詢完成。

  4. 當作用中查詢完成時,就會移除空的槽,並釋放相關的記憶體。

  5. 只要有足夠的記憶體可供新增一或多個槽,就會新增新的槽。

  6. 當變更時執行的所有查詢都完成時,槽計數就等於新的並行層級,而轉移至新的 WLM 組態也就完成。

事實上,變更生效時正在執行的查詢會繼續使用原始的記憶體配置。變更生效時已排入佇列的查詢會在有新的槽可用時,路由傳送至新的槽。

如果 WLM 動態屬性在轉移過程中變更,WLM 會從目前狀態開始,立即開始轉移至新的組態。若要檢視轉移的狀態,請查詢 STV_WLM_SERVICE_CLASS_CONFIG 系統資料表。