mysql innodb的監(jiān)控(系統(tǒng)層,數(shù)據(jù)庫層)的實例代碼詳解

這篇文章主要介紹了mysql innodb的監(jiān)控(系統(tǒng)層,數(shù)據(jù)庫層)的相關(guān)資料,需要的朋友可以參考下

mysql innodb的監(jiān)控(系統(tǒng)層,數(shù)據(jù)庫層)

關(guān)于mysql 的監(jiān)控,mysql提供了數(shù)據(jù)采集的命令,比如show status命令或者讀取數(shù)據(jù)庫informat_schema的GLOBAL_STATUS對象;也可以用一些現(xiàn)成的監(jiān)控工具進行查詢,目前用的比較多的innotop、mysqlreport、mtop、mytop,還有淘寶perl語言研發(fā)的orzdba。

就監(jiān)控的指標而言,有系統(tǒng)層面的,數(shù)據(jù)庫層面的。

1、系統(tǒng)層面包括系統(tǒng)的load、cpu、內(nèi)存是否有swap、磁盤IO如何、網(wǎng)絡(luò)。

????????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%'

???? 采集的數(shù)據(jù)一般是當(dāng)前已經(jīng)采集到的總數(shù)量,如果要計算每秒的數(shù)量,可以這樣計算,以TPS為例

???????????????? TPS=當(dāng)前的Comm_commit-前面采集的Comm_Commit/時間間隔

??? 以下是主要的監(jiān)控指標:

?????????????? 1)Sql語句執(zhí)行次數(shù)QPS——(Com_select、Com_insert、Com_update、Com_delete)

?????????????? 2)事務(wù)TPS—-(Com_commit、Com_rollback)

?????????????? 3)Row的狀態(tài)(每秒增加修改刪除的行數(shù))—–(Innodb_rows_inserted、Innodb_rows_updated、Innodb_rows_deleted、Innodb_rows_read)

?????????????? 4)Page 狀態(tài)(buffer pool中的總頁數(shù)、free、dirty、每秒flushed的page數(shù)量)—-(Innodb_buffer_pool_pages_flushed、Innodb_buffer_pool_pages_data、Innodb_buffer_pool_pages_free、Innodb_buffer_pool_pages_dirty)

?????????????? 5)查詢緩存Hit(query cache hit率)—–(inno_buffer_pool_read_requests、Innodb_buffer_pool_reads)

?????????????? 6)Data狀態(tài)(內(nèi)存buffer中數(shù)據(jù)每秒讀、寫次數(shù),每秒讀寫大小M)—-(Innodb_data_reads、Innodb_data_writes、Innodb_data_read、Innodb_data_written)

?????????????? 7)Log(log_fsync每秒日志sync到磁盤的次數(shù),log每秒寫的大小M)—–(Innodb_os_log_fsyncs、Innodb_os_log_written)

?????????????? 8)線程狀態(tài)(每秒創(chuàng)建的線程數(shù)量)——(Threads_running、Threads_connected、Threads_created、Threads_cached)

?????????????? 9)每秒從客戶端接受或者發(fā)送的數(shù)據(jù)量M—(Bytes_received、Bytes_sent)

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊9 分享