您的位置:首頁>正文

資料管理DMS 全量SQL診斷:你的SQL是健康的藍色,還是危險的紅色

三大難點問題

使用MySQL資料庫的使用者, 不可避免都會遇到下面三個難題:

1、歷史問題難定位

資料庫淩晨3點發生了CPU 100%的告警, 但是該時間段卻沒有任何慢SQL, 怎麼繼續查找原因?

2、SQL壓測模版難獲取

下周要進行大促壓測, DBA只能找業務方一個個的收集SQL模版、執行頻率, 這種方式效率低, 並且無法保證正確性;

3、慢SQL是否要優化

不是所有的慢SQL都需要第一優先順序優化, 使用者迫切需要知道資料庫上哪些SQL最消耗資源, 優化這些SQL, 才可以提高實例的穩定性;

全量SQL診斷可以快速的解決上述問題。

重要功能簡介

執行耗時分佈

如果一個實例的“執行耗時分佈”越接近藍色, 代表這個實例的SQL健康情況越好, 越接近橙色和紅色, 代表這個實例的SQL健康情況越差。

“執行耗時分佈”展示了選定時間範圍內, 所有SQL的執行耗時分佈, 將執行耗時分為了7個區間, 每分鐘計算一次, 分別是:

[0,1]ms 滿足0ms ≤ 執行耗時 ≤ 1ms SQL執行次數占比

(1,2]ms 1ms < 執行耗時 ≤ 2ms SQL執行次數占比

(2,3]ms 2ms < 執行耗時 ≤ 3ms SQL執行次數占比

(3,10]ms 3ms < 執行耗時 ≤ 10ms SQL執行次數占比

(10,100]ms 10ms < 執行耗時 ≤ 100ms SQL執行次數占比

(0.1,1]s 0.1s < 執行耗時 ≤ 1s SQL執行次數占比

>1s 1s < 執行耗時 SQL執行次數占比

例如 :

2017-10-12 19:15:00

該實例 執行耗時在[0,1]ms的SQL執行次數占比是80%;

執行耗時在(3,10]ms的SQL執行次數占比是13.33%;

執行耗時在(0.1,1]s的SQL執行次數占比是6.67%。

執行耗時(SQL RT)

通過執行耗時, 可以方便的查看在選定的時間範圍內, 每一分鐘 SQL的執行耗時。

SQL列表

SQL列表展示了選定時間範圍內每一類SQL的SQL文本、耗時比例、平均執行耗時、返回行數等資訊。

耗時比例=(該類SQL執行耗時 執行次數)/(所有SQL執行耗時 總執行次數) * 100%

所以耗時比例越高的SQL, 基本上可以簡單的理解為佔用MySQL資源越多的SQL, 優化該SQL, 可以獲取更高的收益比, 以下圖的場景為例:

紅框圈定的SQL, 平均耗時是67.78ms, 執行次數43次, 所以耗時比例是67.18%;

黃框圈定的SQL, 雖然平均耗時達到209.99ms, 但是因為執行次數只有一次, 所以耗時比例只有4.84%;

所以在業務模型沒有變化的情況下, 優化第一條SQL, 可以更好的降低實例的資源使用,

提升實例的穩定性;

SQL明細

點擊SQL ID, 可以查看該類SQL執行計畫、性能趨勢、SQL樣本:

前提條件

用戶獲取許可權並已登錄DMS控制台。

DMS 全量SQL診斷功能目前不會進行收費, 但是使用該功能的前提使用者需要開啟SQL審計, 該功能是收費功能, 計費標準。

背景資訊

目前暫時僅支援雲資料庫 RDS 版 MySQL 實例(暫不支援MySQL 5.7)。

操作步驟

登錄DMS控制台——>選擇MySQL資料庫——>選擇“性能”功能表——>點擊“SQL趨勢”——>點擊“全量SQL診斷”

詳細操作步驟如下:

登錄DMS控制台後, 介面如下圖所示:

選擇MySQL資料庫, 並按一下登錄資料庫按鈕進行登錄。

如下圖所示, 在頂部巡覽列菜單中, 選擇性能>SQL趨勢:

選擇性能>SQL趨勢:

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示