修改 WLM 組態 - Amazon Redshift

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

修改 WLM 組態

修改 WLM 組態最簡單的方式是使用 Amazon Redshift 主控台。您也可以使用 AWS CLI 或 Amazon Redshift API。

在自動和手動 WLM 之間切換叢集時,您旳叢集會進入 pending reboot 狀態。變更要在下次叢集重新啟動後才會生效。

如需修改 WLM 組態的詳細資訊,請參閱《Amazon Redshift 管理指南》中的設定工作負載管理

從手動 WLM 遷移至自動 WLM

若要最大化系統輸送量並最有效地使用資源,我們建議您為佇列設定自動 WLM。請考慮採用以下方法來設定從手動 WLM 順暢過渡到自動 WLM。

若要從手動 WLM 遷移到自動 WLM 並使用查詢優先順序,我們建議您建立新的參數群組,然後將該參數群組附加到叢集。如需詳細資訊,請參閱《Amazon Redshift 管理指南》中的 Amazon Redshift 參數群組

重要

若要變更參數群組或從手動切換到自動 WLM,需要重新啟動叢集。如需詳細資訊,請參閱 WLM 動態和靜態組態屬性

我們使用一個範例,其中有三個手動 WLM 佇列。一個用於 ETL 工作負載、一個用於分析工作負載,一個用於資料科學工作負載。ETL 工作負載每 6 小時執行一次,分析工作負載全天執行,資料科學工作負載可能隨時激增。使用手動 WLM,您可以根據對於每個工作負載對業務重要性的理解,來指定每個工作負載佇列可取得的記憶體和並行。指定記憶體和並行不僅很難釐清,也會導致叢集資源被靜態分割,因而在僅執行一部分工作負載時造成浪費。

您可以將自動 WLM 搭配查詢優先順序一起使用,來指示工作負載的相對優先順序,以避免上述問題。對於這個範例,請依照下列步驟進行:

  • 建立一個新參數群組並切換到 Auto WLM (自動 WLM) 模式。

  • 為三個工作負載各別新增佇列:ETL 工作負載、分析工作負載和資料科學工作負載。針對與 Manual WLM (手動 WLM) 模式搭配使用的每一個工作負載使用相同的使用者群組。

  • 將 ETL 工作負載的優先順序指定為 High、分析工作負載的優先順序指定為 Normal、資料科學的優先順序指定為 Low。這些優先順序反映了不同工作負載或使用者群組的業務優先順序。

  • 或者,您也可以為分析或資料科學佇列啟用並行擴展,以便在即使 ETL 工作負載每 6 小時執行一次時,這些佇列中的查詢仍能獲得一致的效能。

運用查詢優先順序,當只有分析工作負載在叢集上執行時,它可取得整個系統。這可以產生高輸送量和最佳的系統使用率 不過,當 ETL 工作負載啟動時,它會獲得正確的權限,因為它具有更高的優先順序。做為 ETL 工作負載執行的查詢,除了在被核准之後可獲得優先資源分配,也能優先獲得許可。因此,無論系統上有哪些其他項目正在執行,ETL 工作負載都能如預期地執行。高優先順序工作負載能獲得可預測的效能,代價是其他較低優先順序工作負載的執行時間更久,因為它們的查詢要等候較重要的查詢先完成;或者,當它們與較高優先順序的查詢同時執行時,所獲得的資源較少。Amazon Redshift 所用的排程演算法可使較低優先順序的查詢不會面臨資源耗盡,而是持續取得進展,只是速度較慢而已。

注意
  • 逾時欄位不適用於自動 WLM。請改用 QMR 規則 query_execution_time。如需詳細資訊,請參閱 WLM 查詢監控規則

  • QMR 動作 HOP 不適用於自動 WLM。請改用 change priority 動作。如需詳細資訊,請參閱 WLM 查詢監控規則

  • 叢集使用自動 WLM 和手動 WLM 佇列的方式不同,這可能會使您的組態混淆。例如,您可以在自動 WLM 佇列中設定優先順序屬性,但不能在手動 WLM 佇列中設定優先順序屬性。因此,請避免在參數群組中混合使用自動 WLM 佇列和手動 WLM 佇列。而是在遷移到自動 WLM 時建立新的參數群組。