這篇文章主要介紹了mysql innodb的監控(系統層,資料庫層)的相關資料,需要的朋友可以參考下
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 4)Page 狀態(buffer pool中的總頁數、free、dirty、每秒flushed的page數量)----(Innodb_buffer_pool_pages_flushed60ce1b0b7537158d6e0ede5c75daad34、Innodb_buffer_pool_pages_datab7806d92cad091cbda7ba8b7a74fc846、Innodb_buffer_pool_pages_free> ;)
5)使用 快取Hit(query cache hit)-----(inno_buffer_pool_read_requests< /Lnodb 6 )Data狀態(內存buffer中資料每秒讀、寫次數,每秒讀寫大小M)----(Innodb_data_reads4682d6a48f33dbccb887e0ab479e8af5、Innodb_data_writese8b6a287417b85491c1a32ac3430e849、Innodb_data_read0009935296c685597cccb021ca9e809f、Innodb_data_writtenb2482bea5dfdfd39a589c5b8ef06c01d)
7)Log(log_fsync日誌日誌sync到磁碟的次數,使用每秒寫入磁碟的數量) -(Innodb_os_log_fsyncs7931c2ca07af9ef65b55c1b7196e9d5a、Innodb_os_log_written361d9aaa5d3b576c3624b6992f91683e)
-(Threads_running420d5e8f8bb5f0e1cc8515b0d3d222ba、Threads_connecteda47ace5bd176197dae470b792a45ee79、Threads_created8efedd22c1d944271ccb748ee4737c5f、Threads_cached<gtgt;)
C999.從客戶端接受或傳送的資料量M---(Bytes_received、Bytes_sent)
以上是mysql innodb的監控(系統層,資料庫層)的實例程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!