目錄
使用狀態變量監控MySQL
使用性能模式(Performance Schema)監控MySQL
1.性能模式
2.性能模式設置表
3.sys模式
使用狀態變量監控MySQL
使用 show status 語句評估系統運行狀況。
- 可以添加范圍修飾符global或session來顯示全局或本地狀態信息。【show global/session status】
- 還可以查詢 Performance Schema 數據庫的 global_status 或 session_status 表。【select * from performance_schema.session_status】
- 還可以用帶有選項的 mysqladmin 命令行程序監控MySQL:狀態信息 mysqladmin status;服務器狀態變量及其值(等同于 show global status) mysqladmin extended-status。
- 如果沒有指定修飾符,則默認session。
使用性能模式(Performance Schema)監控MySQL
1.性能模式
Performance Schema 是 MySQL 內置的性能監控系統,它通過內存表的形式提供服務器內部運行的詳細指標。它并不像 InnoDB 或 MyISAM 那樣用于存儲用戶數據,而是用于收集 MySQL 內部的各種性能指標,例如 SQL 語句執行時間、鎖等待、線程狀態、I/O 操作等。
performance_schema
數據庫中的表由 PERFORMANCE_SCHEMA
?存儲引擎支持;內存表特性:所有數據存儲在內存中,不持久化到磁盤;零磁盤I/O:監控數據不寫入磁盤,減少性能影響。
可以查詢 performance_schema
數據庫中的表,來分析和了解 MySQL 的運行情況,比如:
- 當前正在執行的查詢
- I/O 等待時間統計(哪些查詢花費了最多的 I/O 資源)
- 歷史性能數據(分析過去的數據庫活動)
只有在編譯 MySQL 時啟用了 Performance Schema 選項,才可以使用這個功能。在 MySQL 啟動時,可以通過 performance_schema
變量顯式地啟用或禁用 Performance Schema。
mysqld --performance_schema=ON
2.性能模式設置表
- setup_actors:監控哪些前臺線程(客戶端連接)
- setup_objects:監控哪些數據庫對象(表、存儲過程、觸發器、事件)
- setup_threads:檢測哪些線程類
- setup_instruments:性能模式收集哪些服務器度量
- setup_consumers:檢測事件的存儲位置
3.sys模式
性能模式中有許多檢測和表,可能很難知道要監控哪個。sys模式用來簡化數據庫性能監控和優化。幫助數據庫管理員解釋典型調優和診斷用例的性能模式。提供了:
- 視圖:將性能模式數據匯總為更易于理解的格式
- 存儲過程:協助數據庫管理員配置性能模式并生成診斷報告
- 存儲函數:查詢性能模式配置并以不同方式格式化輸出