一鍵診斷
AnalyticDB for MySQL推出一鍵診斷功能,可針對指定時間段的集群運行狀況發起診斷,結合監控數據、日志數據以及庫表狀態等信息進行聯合分析,從集群的資源水位、負載變化、查詢SQL、算子、存儲等多方面評估集群的健康狀況,幫助您提高集群問題排查、分析效率。
操作步驟
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,單擊目標集群ID。
在左側導航欄中,單擊監控信息。
拖動指標曲線或在下拉列表中選擇待診斷的時間范圍,單擊一鍵診斷。
重要該功能僅支持診斷14天以內的信息,當前支持的診斷時間范圍最長為1小時。
系統會自動彈出診斷結果頁面,您可以在該頁面查看集群的診斷結果。
解讀一鍵診斷報告
診斷結果包含Bad SQL檢測、異常Pattern檢測、業務指標檢測、計算層檢測、存儲層檢測等信息,您可以根據診斷結果快速分析并解決問題。
Bad SQL檢測
Bad SQL檢測包括Stage個數TOP SQL、最耗內存SQL、最耗CPU SQL、數據讀取量TOP SQL、輸出數據量TOP SQL和最耗時SQL等檢測指標。每個檢測指標中最多包含10條SQL,且每條SQL均按照當前檢測指標降序排列。同時,系統會在后臺對最耗時SQL指標中的每條SQL完成自診斷,點擊操作列左側的按鈕,可即時查看SQL診斷結果。若您需要深入分析當前查詢,可點擊操作列的診斷,跳轉至查詢詳情頁面,查看執行計劃,進行自助分析。
異常Pattern檢測
異常Pattern檢測會查詢指定時間段內指標異常的Pattern,例如某個Pattern的提交次數是否突然增多、Pattern的最大使用內存是否突然增加。異常Pattern檢測包括峰值內存、查詢耗時、算子Cost、輸出數據量和提交次數等檢測指標,每個檢測指標中包含SQL Pattern、檢測結果詳情和Pattern的其他相關指標3個字段,其中:
SQL Pattern:SQL模板,您可以根據SQL模板判斷異常Pattern的SQL語句。
檢測結果詳情:異常Pattern的原因,主要包括分位值、最值的比較等信息。
Pattern的其他相關指標:當前異常Pattern的峰值內存、算子Cost、查詢耗時等相關指標,幫助您進行綜合判斷和分析。
業務指標檢測
業務指標檢測會對集群的各項業務指標進行檢測,包括集群連接數檢測和查詢響應時間檢測。
集群連接數檢測
集群連接數檢測會把指定時間段內(例如:14:00-15:00)的數據與前3天每天同一時間段(14:00-15:00)的數據做對比(即同比)。若當前時間段內,百分之八十的數據點同比前3天同一時間的數據點,增長率超過百分之二十,則認為連接數同比升高,您需要關注是否有新的業務流量或異常連接等問題。
查詢響應時間檢測
查詢響應時間檢測與集群連接數檢測的邏輯相同。即當前時間段內,若百分之八十的數據點同比前3天同一時間的數據點,增長率超過百分之二十,則認為查詢響應時間同比升高,您需要關注是否有流量升高或慢SQL等問題。
增長率的計算方法為:(當前數據點-過去數據點)/過去數據點*100
。
計算層檢測
存儲層檢測包括異常算子檢測、節點在線狀態檢測、CPU使用率傾斜檢測、資源組平均CPU使用率檢測、資源組間CPU使用率傾斜檢測和時序指標相關性分析。
異常算子檢測
算子詳細信息
計算層檢測功能,可以幫助您快速查找異常算子(例如Join算子、Aggregation算子、Sort算子、Window算子),并按照當前檢測指標降序排列。您可以根據內存消耗、CPU消耗、輸入輸出數據量等字段對異常算子進行分析,或點擊操作列的診斷,查看算子所屬的原始查詢執行計劃,進一步分析和確認算子的SQL語句、來源等信息。
算子匯總信息
某些情況下,多個異常算子會導致資源消耗增大,異常算子檢測會將最耗CPU算子和最耗內存算子2個指標進行聚合,您可以根據聚合后的結果查看各類算子指標的最大值,確認異常算子。
節點在線狀態檢測
Executor節點壓力較大或內部異常時,可能會導致Executor節點不健康,無法提供正常的服務,最終導致查詢失敗或查詢變慢。節點在線狀態檢測會自動檢測指定時間段內的Executor節點狀態,若Executor節點不健康,則會提示檢測異常,從而幫助您判斷問題時段的異常原因。
CPU使用率傾斜檢測
檢測不同Executor節點間CPU使用率是否均衡,若所有Executor節點的最高CPU使用率比其平均CPU使用率高出1倍,且持續時間超過指定時間段的百分之八十,則認為Executor節點間的CPU使用率存在傾斜,建議您持續關注并排查是否存在數據傾斜。詳細信息請參見數據建模診斷。
檢測結果分為三個等級,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。檢測等級為CRITICAL時,需要您重點關注,否則會影響業務的正常運行。
資源組平均CPU使用率檢測
檢測指定時間段內資源組平均CPU使用率,若某個資源組的CPU使用率超過百分之八十,且持續時間超過指定時間段的百分之八十,則認為該資源組CPU使用率較高,建議您評估是否需要調整該資源組的資源量。詳細信息請參見修改資源組。
檢測結果分為三個等級,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。檢測等級為CRITICAL時,需要您重點關注,否則會影響業務的正常運行。
資源組間CPU使用率傾斜檢測
檢測不同資源組間CPU使用率是否均衡。若水位最高的資源組CPU使用率比資源組平均CPU使用率高出1.5倍,且持續時間超過指定時間段的百分之八十,則認為資源組間CPU使用率存在傾斜,建議您評估是否需要調整不同資源組的資源量。詳細信息請參見修改資源組。
檢測結果分為三個等級,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。檢測等級為CRITICAL時,需要您重點關注,否則會影響業務的正常運行。
時序指標相關性分析
當計算節點平均CPU使用率和計算節點最大CPU使用率指標有異常時,時序指標相關性分析會檢測導致這兩個指標異常的關聯指標(包括查詢QPS、Build任務數、更新TPS、刪除TPS、寫入TPS等指標)。您可以使用關聯指標,判斷可能導致CPU使用率升高的原因。
例如,檢測到與計算節點CPU平均使用率變化相關的指標有查詢QPS,那么說明可能存在大量查詢從而導致計算節點CPU平均使用率升高。
進行時序指標相關性分析時,建議在診斷時間中包含重要指標異常監控時間段,以便您快速掌握重要指標異常的原因。
存儲層檢測
存儲層檢測包括建表與表訪問檢測、節點在線狀態檢測、最大CPU使用率檢測、平均CPU使用率檢測、CPU使用率傾斜檢測和時序指標相關性分析。
建表與表訪問檢測
表訪問檢測
表訪問檢測會自動檢測指定時間段內被訪問的表,包括最大數據讀取量、平均數據讀取量、最大數據讀取耗時、平均數據讀取耗時和表訪問次數5個指標,并按照當前檢測指標降序排列。
數據分布傾斜表詳情
AnalyticDB MySQL版分區表需要選擇一個分布比較均勻的字段作為分布字段,在數據寫入時會根據分布字段進行數據打散,寫入到不同的Worker節點上。選擇的分布字段不均勻時,會導致表傾斜。表傾斜檢測功能會先定位數據量最大的表,然后再檢測這些表是否存在數據傾斜。對傾斜的表進行優化,可以提升查詢性能,均衡磁盤空間的數據量,降低磁盤鎖定的風險。
不合理分區表詳情
表分區不合理檢測會先定位數據量最大的表,然后再檢測這些表是否存在分區不合理的情況。
節點在線狀態檢測
Worker節點壓力較大或內部異常時,可能會導致Worker節點不健康,無法提供正常的服務,最終導致查詢失敗或者查詢變慢。節點在線狀態檢測會自動檢測指定時間段內的Worker節點狀態,若Worker節點不健康,則提示檢測異常,從而幫助您判斷問題時段的異常原因。
最大CPU使用率檢測
檢測指定時間段內所有Worker節點的最大CPU使用率。若所有Worker節點的最大CPU使用率超過百分之九十,且持續時間超過指定時間段的百分之八十,則認為CPU使用率較高,需要您排查是否存在慢SQL。詳細信息請參見典型慢查詢。
檢測結果分為三個等級,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。檢測等級為CRITICAL時,需要您重點關注,否則會影響業務的正常運行。
平均CPU使用率檢測
檢測指定時間段內所有Worker節點的平均CPU使用率。若所有Worker節點的平均CPU使用率超過百分之八十,且持續時間超過指定時間段的百分之八十,則認為CPU使用率較高,需要您排查是否存在慢SQL。詳細信息請參見典型慢查詢。
檢測結果分為三個等級,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。檢測等級為CRITICAL時,需要您重點關注,否則會影響業務的正常運行。
CPU使用率傾斜檢測
檢測不同Worker節點間CPU使用率是否均衡,若所有Worker節點的最高CPU使用率比其平均CPU使用率高出1倍,且持續時間超過指定時間段的百分之八十,則認為Worker節點間的CPU使用率存在傾斜,建議您持續關注并排查是否存在數據傾斜。詳細信息請參見數據建模診斷。
檢測結果分為三個等級,包括NORMAL(正常)、WARNING(警告)、CRITICAL(重要)。檢測等級為CRITICAL時,需要您重點關注,否則會影響業務的正常運行。
時序指標相關性分析
當讀寫節點平均CPU使用率和讀寫節點最大CPU使用率指標存在異常時,時序指標相關性分析會檢測導致這兩個指標異常的關聯指標(包括查詢QPS、Build任務數、更新TPS、刪除TPS、寫入TPS等指標)。您可以使用關聯指標,判斷可能導致CPU使用率升高的原因。
例如,檢測到與讀寫節點平均CPU使用率變化相關的指標有查詢QPS,那么說明可能存在大量查詢從而導致讀寫節點CPU平均使用率升高。
進行時序指標相關性分析時,建議在診斷時間中包含重要指標異常監控時間段,以便您快速掌握重要指標異常的原因。