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平均使用率升高。
進行時序指標相關性分析時,建議在診斷時間中包含重要指標異常監控時間段,以便您快速掌握重要指標異常的原因。