http://5iwww.blog.51cto.com/856039/570669
最近學習innotop工具,自己搜集整理了一下網上的各種資源,小弟也沒做什麼創造性的工作,匯總整理。
這裡使用的是innotop-1.8.0,1.8版本的可以監測遠程伺服器,而1.6版本不可以。
一.
安裝 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'鍵開啟或關閉,預設情況下,innotop隱藏不活動的進程和它自己的進程。您可以切換和關閉這些用'i'和'a'鍵。