隨著業務量的增長,SQL請求數量也相應增加,從而導致資料庫監控指標上升。一些SQL請求具有相似的特徵,通過全量SQL功能很難逐條定位問題SQL。資料庫自治服務DAS(Database Autonomy Service)的SQL請求行為識別功能利用機器學習對SQL進行聚類篩選,使您能夠快速、高效、準確地定位異常SQL。
前提條件
情境樣本
情境:當您的業務請求有大量SQL模板,不管通過哪種排序,都很難快速定位到異常SQL請求。如下圖所示紅框部分和藍框部分各屬於一類問題SQL請求。
解決方案:使用SQL請求行為識別功能通過以下兩個方案協助您快速定位效能相關的問題:
方案一:當業務存在大量請求時,DAS能夠按照SQL請求行為對SQL模板進行分類。例如面對上百頁的SQL模板,如果通過排序很難一個個去篩選問題SQL,此時可以使用SQL請求行為識別,通過DAS後端演算法找出相似的行為映像,協助您將大量的SQL模板聚類,由此提高問題定位的效率。
方案二:SQL請求行為識別功能根據指標的異常時間段來排查與異常指標相關的問題。下圖顯示了異常指標的趨勢,在該圖中,CPU使用率、活動會話的峰值時間與SQL模板類別的請求突然減少的時間相同,這表明當活動會話激增時,這些類別的SQL請求會被阻塞。
操作步驟
登入DAS控制台。
在左側導覽列中,單擊執行個體監控。
找到目標執行個體,單擊執行個體ID,進入目標執行個體詳情頁。
在左側導覽列中,單擊自治中心。
選擇時間範圍,查看選定時間範圍內發生過的各類事件。
以監控指標時序異常檢測(時序異常檢測)事件為例,單擊詳情,查看該事件的詳細情況。
單擊異常快照頁簽,在異常指標分析地區,查看異常原因及相關的指標變化情況。
在性能指標地區,選擇不同異常指標類別,查看該類指標的異常分布情況。
在SQL請求行為分析地區,選擇需要分析的監控指標和其關聯指標進行分析。
DAS將使用耗時排名前1000的SQL模板進行資料分析。由於此功能依賴DAS企業版的全量SQL資料,根據資料量和不同使用者的計算時間差異,分析時間通常需要1~5分鐘。
查看分析結果。
通過指標相關度,可以查看與異常指標關聯度最高的SQL指標,以及相關SQL模板及其統計資訊。
說明指標相關度取值越接近1.00,表示與異常指標的關聯度越高。
相關說明
通過SQL請求行為識別,您可以觀察到相似的SQL模板的波動趨勢。
儘管此SQL請求出現了短暫的突增,但突增波動的時間點和指標的突增並不相符,因此這類模板並不是與指標最相關的,如下圖所示。
下圖表展示了異常指標的趨勢。在圖中可以看到,CPU使用率和活躍會話的峰值時間與SQL模板類別的請求突然減少的時間相同。這表明在活躍會話激增時,此類SQL請求可能會受到阻塞。