實作工作負載管理 - Amazon Redshift

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

實作工作負載管理

您可以使用工作負載管理 (WLM) 來定義多個查詢佇列,並於執行時間將查詢路由至適當的佇列。

在某些情況下,您可能有多個工作階段或使用者在同時執行查詢。在這些情況下,某些查詢可能長時間佔用叢集資源,而影響其他查詢的效能。例如,假設有一群使用者偶而會提交複雜、長期執行的查詢,這些查詢會從數個大型資料表選取資料列並加以排序。另一群經常提交短期查詢,而這些查詢只從一個或兩個資料表選取少數幾列,且只會執行幾秒鐘。在此情況下,短期執行的查詢可能必須在佇列中等待長期執行的查詢完成。WLM 可協助管理這種情況。

您可以將 Amazon Redshift WLM 設定成以自動 WLM 或手動 WLM 來執行。

  • 自動 WLM

    若要最大化系統吞吐量並有效利用資源,您可以讓 Amazon Redshift 來管理如何分配資源,以利用自動 WLM 來執行並行查詢。自動 WLM管理運行查詢所需的資源。Amazon Redshift 決定多少個查詢並行執行和分配多少記憶體給每個分派的查詢。您可以在 Amazon Redshift 主控台啟用自動 WLM,方式是選擇切換 WLM 模式然後選擇Auto WLM (自動 WLM)。使用此選擇時,最多使用八個佇列來管理查詢,而且 Memory (記憶體)Concurrency on main (主要叢集的並行) 欄位都設為 Auto (自動)。您可以指定優先順序來反映對應到每個佇列之工作負載或使用者的優先順序。查詢的預設優先順序設定為 Normal (一般)。如需如何變更佇列中查詢優先順序的相關資訊,請參閱查詢優先順序。如需詳細資訊,請參閱 實作自動 WLM

    在執行時間,您可以根據使用者群組或查詢群組,將查詢路由至這些佇列。您也可以設定一個查詢監控規則 (QMR) 來限制長時間執行查詢。

    使用並行擴展和自動 WLM,您可以藉由持續的快速查詢效能,支援幾乎無限的並行使用者和並行查詢。如需詳細資訊,請參閱 使用並行擴展

    注意

    我們建議您建立參數群組並選擇自動 WLM 來管理查詢資源。如需如何從手動 WLM 遷移至自動 WLM 的詳細資訊,請參閱從手動 WLM 遷移至自動 WLM

  • 手動 WLM

    或者,您可以修改 WLM 組態來為長期執行的查詢和短期執行的查詢建立個別的佇列,以管理系統效能和改善使用者的感受。在執行時間,您可以根據使用者群組或查詢群組,將查詢路由至這些佇列。您可以在 Amazon Redshift 主控台切換到手動 WLM。使用此選擇時,請指定用來管理查詢的佇列,以及 Memory (記憶體)Concurrency on main (主要叢集的並行) 欄位值。使用手動組態時,您最多可以設定八個查詢佇列,並設定每個佇列中可同時執行的查詢數。您可以設定規則,以根據執行查詢的使用者,或您指定的標籤,將查詢路由至特定的佇列。您也可以設定要配置給每個佇列的記憶體數量,讓大型查詢在記憶體較多的佇列中執行。您也可以設定一個查詢監控規則 (QMR) 來限制長時間執行查詢。如需詳細資訊,請參閱 實作手動 WLM

    注意

    建議為您的手動 WLM 查詢佇列設定總共 15 個或更少的查詢槽。如需詳細資訊,請參閱 並行層級