大數據“復活”記
1408
2025-03-31
等待視圖pgxc_thread_wait_status是處理性能問題,查看語句執行狀態最常用的視圖之一。其中關鍵的一個字段是wait_status字段,表示當前線程的等待狀態。等待狀態的詳細信息。產品文檔中有章節專門對此字段進行描述(參考:https://support.huaweicloud.com/devg-dws/dws_04_0783.html)。本文針對性能調優過程中最常見的幾種等待狀態進行介紹,供讀者參考。
1. none
none狀態表示該線程并未在等其他線程,說明本線程正在工作,暫時不需要其他線程的數據,如果只有某一個dn的狀態是none,其他dn狀態是wait node或synchronize quit,說明該節點有瓶頸,需要排查是否有資源瓶頸或存在數據傾斜。
2. wait cmd
wait cmd表示當前線程已執行完畢,正在等待下一條輸入。此種場景多見于copy場景,copy導入等待源端供數,copy導出等待目標端寫數,都會出現這種情況。例如:構造場景:copy t(a) from stdin;
停止輸入后,查看該語句等待視圖如下:
如果所有線程等待狀態均為wait cmd,說明當前已執行完畢,正在等待下一條數據輸入。在現網此種場景下,需排查源端供數是否有瓶頸。
如果部分線程執行完,正在等待其他線程執行,等待狀態也會是wait cmd。
3. synchronize quit
此線程已執行完畢,等待stream線程統一退出,此類線程不消耗資源,可以忽略,在查看等待視圖時,一般將其過濾掉。
4. acquire lock
等待表級鎖,鎖等待案例不在贅述,參考:https://bbs.huaweicloud.com/blogs/233114
5. acquire lwlock
獲取輕量級鎖,一般是資源管理相關的鎖,不會持續很長時間,與當前集群資源情況(IO等資源)有關
6. wait io
等待IO完成,如果有大量wait io,說明當前io讀寫壓力較高,可以通過iostat觀察集群IO使用率等是否過高(超過90%),判斷是單節點IO高還是整體IO高。
單節點IO高:排查壞盤、磁盤讀寫策略、語句殘留、存儲傾斜、計算傾斜等場景;
整體IO高:排查磁盤讀寫策略、表涉及是否合理、sql優化等角度處理。
7. wait pooler get conn、pooler create conn: [nodename], total N、stream get conn、wait producer ready
建聯相關的等待事件,一般情況下這幾個狀態可能會同時出現,出現多個此類狀態時說明集群間網絡存在問題,需要排查網絡,參考此鏈接排查:https://bbs.huaweicloud.com/blogs/235237。
最常見的一種場景是arm服務器未做網卡加固導致網絡重傳率高:https://bbs.huaweicloud.com/forum/thread-110780-1-1.html,需根據加固文檔完成網卡加固。
HCS場景下,stream慢的原因可能是網卡監控腳本重啟網絡服務導致:https://bbs.huaweicloud.com/forumreview/thread-186881-1-1.html
8. flush data: [nodename](plevel), wait quota
這種狀態是當前節點向對端節點發送數據,正在等待quota值,一般是對端消費慢。例如:
表示dn_6071向dn_6129的第5層(執行計劃的第5層)發送數據,正在等待quota,說明dn_6129端消費慢,來不及處理發送過來的數據。如果長時間wait quota,需查看是否有數據傾斜(6129上數據量太多來不及處理發送過來的數據)或通信參數不合理(通信參數:https://bbs.huaweicloud.com/blogs/239863)。
9. wait wal sync、wait data sync、wait data sync queue
此類狀態是主機向備機同步wal log或數據頁,多發生于批量導入場景,尤其是行存表帶索引導入并且在IO壓力大時容易出現。業務上盡量避免行存表帶索引的大批量導入。出現此類情況時,如果是單個節點出現且持續時間很長,可嘗試kill 對端備機觀察;如果多個DN出現,建議降低集群壓力,減少并發導入的并發度。
10. wait transaction sync: xid
等待事務同步,事務同步的超時時間是600s,超過該時間會報錯,可根據以下案例排查:https://bbs.huaweicloud.com/forum/thread-79130-1-1.html
EI企業智能 Gauss AP 數據倉庫服務 GaussDB(DWS)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。