首頁  >  文章  >  資料庫  >  mysql innodb的監控(系統層,資料庫層)的實例程式碼詳解

mysql innodb的監控(系統層,資料庫層)的實例程式碼詳解

黄舟
黄舟原創
2017-04-13 09:58:241592瀏覽

這篇文章主要介紹了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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn