天天看點

使用innotop監測mysql

一. 安裝

INNOTOP是一個通過文本模式顯示MySQL和InnoDB的監測工具。它有很多特點,快速的配置的,易于使用等。它吸取了MYTOP的精華這使

它變得更加強大。INNOTOP是用PERL語言寫成的,這是它能更加靈活的使用在各種操作平台之上,它能詳細的的監控出目前MYSQL和

INNODB運作的狀态,以便維護人員根據結果合理的優化MYSQL,讓MYSQL更穩定更高效的運作。

安裝INNOTOP工具非常的簡單,既然是由PERL寫的,當然需要PERL環境和相關的工具包。

在安裝之前先要确定你的系統安裝了Time::HiRes,Term::ReadKey,DBI,DBD::mysql這四個包。安裝可以把包下載下傳下來通過編譯安裝完

成也可以用PERL子產品安裝方式來完成。

安裝Time::HiRes,Term::ReadKey,DBI,DBD::mysql庫檔案

通過PERL子產品來安裝

[root@xoyo-test-43 innotop-1.8.0]# perl -MCPAN -eshell

CPAN> install Time::HiRes

CPAN> install Term::ReadKey

CPAN> install DBI

CPAN> install DBD::mysql

也可以通過源碼編輯安裝(略過)

下面安裝innotop-1.8

[root@xoyo-test-43 software]# wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz

[root@xoyo-test-43 software]# tar xvzf innotop-1.8.0.tar.gz 

[root@xoyo-test-43 software]# cd innotop-1.8.0

[root@xoyo-test-43 software]# perl Makefile.PL 

[root@xoyo-test-43 software]# make

[root@xoyo-test-43 software]# make install

至此,innotop就安裝完畢,下面是使用說明

二.使用

innotop -u <username> -p <password> -h <hostname> -P <port>

互動式工具也就是在需要的時候啟動起來,以視圖顯示的形式不斷擷取伺服器的最小狀态。

可擷取的内容:

1.顯示目前innodb的全部事務清單;

2.顯示目前正運作着的查詢;

3.顯示目前鎖和鎖等等的清單;

4.伺服器狀态和變量的摘要資訊 顯示了數值的相對變化幅度;

5.有多種模式可用來顯示Innodb 内部資訊,如緩沖區、死鎖、外鍵錯誤、I/O情況、行操作、信号量等。

6.複制健康,将主機和從機的狀态顯示一起;

7.有一個顯示任意伺服器變量的模式;

8.伺服器組可以幫你更友善的組織多台伺服器;

9.在指令行腳本下可以使用非互動模式。

連接配接成功後 輸入?可以進入幫助:

括号中為後加的注釋

Switch to a different mode:

   B  InnoDB Buffers           I  InnoDB I/O Info      Q  Query List

   C  Command Summary   L  Locks                      R  InnoDB Row Ops

   D  InnoDB Deadlocks     M  Replication Status  S  Variables & Status

   F  InnoDB FK Err            O  Open Tables           T  InnoDB Txns

Actions:

   a  Toggle the innotop process(切換innotop程序)    k  Kill a query's connection(殺死一查詢的連接配接)

   c  Choose visible columns    (可見列選擇)         n  Switch to the next connection(切換到下一個連接配接)

   d  Change refresh interval   (更改重新整理間隔)       p  Pause innotop (暫停innotop)

   e  Explain a thread's query  (說明線程的查詢)     q  Quit innotop  (退出)

   f  Show a thread's full query(顯示線程的完整查詢) r  Reverse sort order (反向排序)

   h  Toggle the header on and off(頭切換和關閉)     s  Change the display's sort column(更改顯示的排序列)

   i  Toggle idle processes       (切換空閑程序)     x  Kill a query  (殺死一查詢)

Other:

 TAB  Switch to the next server group   /  Quickly filter what you see

   !  Show license and warranty         =  Toggle aggregation

   #  Select/create server groups       @  Select/create server connections

   $  Edit configuration settings       \  Clear quick-filters

Switch to a different mode 詳解:

B  InnoDB Buffers:

該模式顯示有關InnoDB緩沖池,頁面統計,插入緩沖,自适應哈希索引。這些資料來自展示InnoDB的狀态。

此模式預設包含buffer_pool,page_statistics,insert_buffers,和adaptive_hash_index表。

C  Command Summary:

該指令是建立彙總表通過提取STATUS_VARIABLES變量。變量必須是數字,必須比對給定的cmd_filter配置變量的字首。百分比列是在表

中的所有變量總數的

百分比,是以你可以看到變數的相對比例。

預設的字首是“Com_”。你可以選擇的's'鍵改變過濾字首。

D  InnoDB Deadlocks:

這種模式顯示,在過去InnoDB的死鎖中涉及的事務。第二個表顯示等待事務。

F  InnoDB FK Err:

此模式顯示最後InnoDB的外鍵的錯誤資訊,

I  InnoDB I/O Info:

這種模式顯示InnoDB的I/O資訊,包括I/O線程,挂起的I/O,檔案I/O,日志統計。預設顯示io_threads,pending_io,file_io_misc

,和log_statistics

L  Locks:

這種模式顯示了目前鎖的資訊。目前隻支援InnoDB,并在預設情況下你隻看到那些鎖等待的事務。

M  Replication Status:

這種模式輸出了 SHOW SLAVE STATUS 和 SHOW MASTER STATUS 的資訊成3張表,前兩個顯示從的sql和I/O的狀态,最後顯示主的狀态

O  Open Tables:

這部分來自SHOW OPEN TABLES指令的輸出,預設情況下,篩選出正由一個或多個查詢使用的表,這樣可以快速得到哪些表是'熱'。也可

以猜測哪些表可能被

鎖。

Q  Query List:

此模式顯示從SHOW FULL PROCESSLIST的資訊,就像mytop的查詢清單模式。有一個資訊頭,顯示有關伺服器的一般狀态資訊。可以

用'h'切換開或關。

預設情況下,innotop隐藏不活動的程序和它自己的程序。您可以切換和關閉這些用'i'和'a'鍵。

R  InnoDB Row Ops:

全名是InnoDB Row Operations and Semaphores(InnoDB的行操作和信号燈)。

這種模式顯示InnoDB行操作、row operation miscellaneous、信号、innodb等待資訊

S  Variables & Status:

這種模式計算,如每秒查詢的統計資訊。您可以顯示絕對值之間,或增量值。

's' 鍵是沒一定時間列印數字到前面

'g' 鍵是列印圖像

'v' 鍵是以一個表格的形式顯示,定期重新整理值。

T  InnoDB Txns:

全名是InnoDB Transactions。

這種模式從innodb螢幕中輸出事務。你可以殺掉一個查詢或程序,通過'k'和'x'鍵,也可以explain一個查詢,通過'e'或'f'鍵。

InnoDB不會輸出所有的查

詢事務,如果查詢太長被截斷。資訊頭可以用'h'鍵打開或關閉,