前提條件
- 僅限來源為天翼云RDS的MySQL數據庫。
- 實例規格必須在2C4G以上。
- 實例的地域/資源池為:華東1、上海36、西南1、華北2、華南2、長沙42、青島20、南昌5、西安7,其他資源池支持正在陸續擴充支持中。
- 僅支持MySQL 8.0以上版本。
- 已錄入DMS中,且實例狀態正常的數據庫實例。
注意事項
- 當前支持歷史近7天的性能數據存儲。
- 建議提前手工開啟performance-schema。如何開啟performance-schema,請參照performance-schema開關,設置performance-schema相關參數。
- 啟用性能洞察時,若用戶開啟performance-schema,則等待事件來自events_waits_current;若用戶關閉performance-schema,則等待事件來自processlist。
- 若用戶開啟performance-schema,性能洞察會自動調整performance-schema-consumer-events-waits-current、performance-schema-consumer-global-instrumentation、performance-schema-consumer-thread-instrumentation、performance-schema-instrument參數。
- 若SQL文本出現截斷,請調整實例的max_digest_length、performance_schema_max_digest_length、performance_schema_max_sql_text_length參數。
注意修改performance-schema參數,需要重啟數據庫實例,建議您在業務低峰期操作,并確保應用程序具有重連機制。
操作步驟
- 登錄數據管理服務。
- 在左側導航欄中,點擊智能運維 > 性能洞察 ,進入性能洞察界面。
- 在性能洞察頁面,點擊開啟性能洞察按鈕開啟性能洞察功能。
關閉性能洞察
- 登錄數據管理服務。
- 在左側導航欄中,單擊智能運維 > 性能洞察 ,進入性能洞察界面。
- 在性能洞察頁簽,單擊右上角的關閉性能洞察。
功能介紹
性能洞察服務會收集、聚合和顯示實例的活躍會話信息。性能洞察根據數據庫實例的 vCPU(虛擬 CPU)內核數,來決定最大 vCPUs 的值。
如果數據庫負載持續高于最大 vCPUs閾值線,并且主要等待狀態為 CPU,則表示 CPU 過載。如果長時間有大量活躍會話處于任何等待狀態,無論數據庫負載是否超過最大 vCPUs 線,則表示當前實例存在資源瓶頸或資源爭用問題。
若出現了上述的情況,可能需要對TOP請求的來源進行限流,并優化高 CPU 負載的TOP SQL,或對實例進行CPU、內存、IO的擴容。
性能趨勢
性能趨勢展示用戶選擇時間范圍的整體平均活躍會話數趨勢,右側展示TOP 3的等待事件和最大vCPUs閾值,選擇框可以拖動和伸縮,在下方區域查看具體的平均活躍會話數詳細信息。
平均活躍會話數(AAS)
AAS趨勢
趨勢圖表示上方性能趨勢選擇框時間范圍的平均活躍會話數柱狀圖信息,支持等待事件、來源、數據庫、用戶、SQL 5個維度的切換查看,右側的維度信息支持單選查看,默認展示等待事件維度的AAS趨勢。
AAS列表
列表展示AAS趨勢對應的等待事件、來源、數據庫、用戶、SQL維度對象信息,SQL維度的對象信息展示SQL模板,每個SQL模板可以展開查詢對應的SQL明細信息,SQL維度的SQL模板性能字段支持擴展,點擊設置按鈕,可選擇更多字段,每個維度的對象支持單選查看對應的AAS趨勢。
性能監控指標
展示上方性能趨勢選擇框時間范圍的關鍵性能指標。
平均活躍會話計數算法
概述
平均活躍會話用于評估在一段時間內,實例中平均有多少個會話同時處于活動狀態。選定的時間周期越長,統計的平均活躍會話數時間顆粒度越粗。
計算方式
性能洞察每3秒會對實例進行活躍會話信息的采集,平均活躍會話數=特定時間段內的會話總數/特定時間段內的采集次數。
示例如下,在采集3次活躍會話快照信息的時間間隔內,平均有7個會話處于活動狀態。
| 采集序列 | 活躍會話數 | 平均活躍會話數 | 計算過程 |
|---|---|---|---|
| 1 | 6 | 6 | 會話總數6/采集次數1 |
| 2 | 0 | 3 | 會話總數6/采集次數2 |
| 3 | 15 | 7 | 會話總數21/采集次數3 |
MySQL等待事件說明
概述
等待事件表示當前SQL 語句正在等待特定事件,事件結束后SQL才能繼續運行,等待事件說明了SQL運行過程中受到阻塞的具體階段,是衡量數據庫負載的一個重要參考維度。
總體來說,活躍會話的SQL在執行過程中,會處于CPU執行或資源等待狀態,比如等待寫入binlog,等待數據文件掃描等。
在優化數據庫整體負載時,常見的場景是少量的SQL模板在等待某些資源上花費了大量的時間,通過性能洞察可以對TOP等待的對象進行針對性識別、分析和優化。
有關MySQL 等待事件的信息,請參閱 MySQL官方文檔。
主要等待事件說明
| 等待事件 | 摘要說明 |
|---|---|
| CPU | 活躍會話數一直高于 vCPU 的數量 |
| wait/io/file/xxx | 等待文件操作完成的時間(例如,對 fwrite()?的調用) |
| wait/io/socket/xxx | 監聽套接字等待連接 |
| wait/io/table/xxx | 表I/O操作等待 |
| wait/lock/metadata/xxx | 等待表鎖定操作 |
| wait/lock/table/xxx | 等待表鎖定操作 |
| wait/synch/cond/xxx | 不同線程的條件訪問存在資源沖突 |
| wait/synch/mutex/xxx | 互斥對象控制資源訪問,防止并發沖突 |
| wait/synch/prlock/xxx | 優先級讀寫鎖,控制資源訪問優先級 |
| wait/synch/rwlock/xxx | 讀寫鎖控制資源訪問,防止并發沖突 |
| wait/synch/sxlock/xxx | 同一對象的DML操作爭用 |
performance-schema開關
操作步驟
- 登錄管理控制臺。
- 單擊管理控制臺左上角的
,選擇區域和項目。 - 選擇“數據庫 > 關系數據庫MySQL版”,進入關系數據庫MySQL版控制臺。
- 在“實例管理”頁面,選擇指定的實例,單擊實例名稱,進入實例信息展示頁面。
- 選擇“參數設置”頁面,查看您可以修改的參數列表,界面上展示了每個參數的參數名、修改后是否需要重啟、當前值、允許值、描述。
- 根據業務需求修改相關參數,點擊頁面上方的的“保存”按鈕,彈出確認框,點擊“確定”按鈕,提交修改參數任務。
- 可以在參數設置頁面“歷史記錄”中查看參數修改結果,修改參數是否成功,以“歷史記錄”頁面顯示結果為準。
更多詳細信息請參見參數設置。