本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
WLM 系統資料表和檢視
WLM 根據內部定義的WLM服務類別設定查詢佇列。Amazon Redshift 會根據這些服務類別以及WLM組態中定義的佇列來建立多個內部佇列。在系統資料表中,佇列和服務類別這兩個詞通常互通使用。超級使用者佇列使用服務類別 5。使用者定義的查詢使用服務類別 6 以上。
您可以使用 WLM特定的系統資料表來檢視查詢、佇列和服務類別的狀態。查詢下列系統資料表來執行下列動作:
-
檢視工作負載管理員正在追蹤哪些查詢及已配置什麼資源。
-
查看已將查詢指派給哪一個佇列。
-
檢視工作負載管理員目前追蹤之查詢的狀態。
資料表名稱 | 描述 |
---|---|
STL_WLM_ERROR | 包含 WLM相關錯誤事件的日誌。 |
STL_WLM_QUERY | 列出 正在追蹤的查詢WLM。 |
STV_WLM_CLASSIFICATION_CONFIG | 顯示 目前的分類規則WLM。 |
STV_WLM_QUERY_QUEUE_STATE | 記錄查詢佇列的目前狀態。 |
STV_WLM_QUERY_STATE | 提供 追蹤的查詢目前狀態的快照WLM。 |
STV_WLM_QUERY_TASK_STATE | 包含查詢任務的目前狀態。 |
STV_WLM_SERVICE_CLASS_CONFIG | 記錄 的服務類別組態WLM。 |
STV_WLM_SERVICE_CLASS_STATE | 包含服務類別的目前狀態。 |
STL_WLM_RULE_ACTION | 記錄因與使用者定義佇列相關聯的WLM查詢監控規則所產生的動作詳細資訊。 |
STV_WLM_QMR_CONFIG | 記錄WLM查詢監控規則的組態 (QMR)。 |
您可以在系統資料表中使用任務 ID 來追蹤查詢。以下範例示範如何取得最近提交之使用者查詢的任務 ID:
select task from stl_wlm_query where exec_start_time =(select max(exec_start_time) from stl_wlm_query); task ------ 137 (1 row)
下列範例顯示目前正在執行或在各種服務類別 (佇列) 中等待的查詢。此查詢很適用於追蹤 Amazon Redshift 的整體並行工作負載:
select * from stv_wlm_query_state order by query; xid |task|query|service_| wlm_start_ | state |queue_ | exec_ | | |class | time | |time | time ----+----+-----+--------+-------------+---------+-------+-------- 2645| 84 | 98 | 3 | 2010-10-... |Returning| 0 | 3438369 2650| 85 | 100 | 3 | 2010-10-... |Waiting | 0 | 1645879 2660| 87 | 101 | 2 | 2010-10-... |Executing| 0 | 916046 2661| 88 | 102 | 1 | 2010-10-... |Executing| 0 | 13291 (4 rows)
WLM 服務類別 IDs
下表列出IDs指派給服務類別的 。
ID | 服務類別 |
---|---|
1–4 | 保留以供系統使用。 |
5 | 供超級使用者佇列使用。 |
6–13 | 由WLM組態中定義的手動WLM佇列使用。 |
14 | 供短期查詢加速使用。 |
15 | 保留給 Amazon Redshift 執行的維護活動。 |
100–107 | 當 auto_wlm 為 true 時,由自動WLM佇列使用。 |