mysql innodb的監控(系統層,數據庫層)
關于MySQL 的監控,mysql提供了數據采集的命令,比如show status命令或者讀取數據庫informat_schema的GLOBAL_STATUS對象;也可以用一些現成的監控工具進行查詢,目前用的比較多的innotop、mysqlreport、mtop、mytop,還有淘寶perl語言研發的orzdba。
就監控的指標而言,有系統層面的,數據庫層面的。
1、系統層面包括系統的load、cpu、內存是否有swap、磁盤IO如何、網絡。
vmstat -w 1
iostat -x -k 1
sar -n DEV 1
2、mysql數據庫層
show global status where Variable_name in('xxxx')或者show global status like 'xxx%'
采集的數據一般是當前已經采集到的總數量,如果要計算每秒的數量,可以這樣計算,以TPS為例
TPS=當前的Comm_commit-前面采集的Comm_Commit/時間間隔
以下是主要的監控指標:
1)Sql語句執行次數QPS------(Com_select、Com_insert、Com_update、Com_delete)
2)事務TPS----(Com_commit、Com_rollback)
3)Row的狀態(每秒增加修改刪除的行數)-----(Innodb_rows_inserted、Innodb_rows_updated、Innodb_rows_deleted、Innodb_rows_read)
4)Page 狀態(buffer pool中的總頁數、free、dirty、每秒flushed的page數量)----(Innodb_buffer_pool_pages_flushedpage flush的數量>、Innodb_buffer_pool_pages_data總的量>、Innodb_buffer_pool_pages_freefree的頁數量>、Innodb_buffer_pool_pages_dirty臟頁數量>)
5)查詢緩存Hit(query cache hit率)-----(inno_buffer_pool_read_requests邏輯讀總次數>、Innodb_buffer_pool_reads物理讀總次數>)
6)Data狀態(內存buffer中數據每秒讀、寫次數,每秒讀寫大小M)----(Innodb_data_reads數據讀總次數>、Innodb_data_writes數據寫的總次數>、Innodb_data_read至此已經讀的數據量>、Innodb_data_written至此已經寫的數據量>)
7)Log(log_fsync每秒日志sync到磁盤的次數,log每秒寫的大小M)-----(Innodb_os_log_fsyncs向日志文件寫的總次數>、Innodb_os_log_written寫入日志文件的字節數>)
8)線程狀態(每秒創建的線程數量)------(Threads_running激活狀態的線程數>、Threads_connected當前打開的連接數量>、Threads_created新建線程的數量>、Threads_cached線程的緩存值>)
9)每秒從客戶端接受或者發送的數據量M---(Bytes_received、Bytes_sent)
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:- InnoDB 類型MySql恢復表結構與數據
- MySQL啟動時InnoDB引擎被禁用了的解決方法
- mysql執行sql文件報錯Error: Unknown storage engine‘InnoDB’的解決方法
- mysql innodb 異常修復經驗分享
- Mysql更換MyISAM存儲引擎為Innodb的操作記錄總結
- 關于MySQL innodb_autoinc_lock_mode介紹
- MySQL優化之InnoDB優化
- MySQL存儲引擎中MyISAM和InnoDB區別詳解
- MySQL提示The InnoDB feature is disabled需要開啟InnoDB的解決方法
- MySQL中Innodb的事務隔離級別和鎖的關系的講解教程
- 詳解MySQL中InnoDB的存儲文件