innotop 編寫者Balon Schwartz,《高性能MySQL》的做者之一。
innotop的做用爲實時地展現服務器正在發生的事情,監控innodb,監控多個MySQL實例,是一款MySQL運維和問題定位分析的工具。html
具體特性 :
事務列表能夠顯示Inoodb當前的所有事務
查詢列表能夠顯示當前正在運行的查詢
能夠顯示當前鎖和鎖等待的列表
以相對值顯示服務器狀態和變量的彙總信息
有多種模式可用來顯示Innodb內部信息(緩衝區、死鎖、外鍵錯誤、I/O活動、行操做、信號量)
複製監控,將主服務器和從服務器的狀態顯示在一塊兒
顯示任意服務器變量的模式
服務器組能夠更方便地組織多臺服務器
在命令行腳本下能夠使用非交互式模式
本文主要介紹innotop的經常使用方式-主用於現網MySQL服務器的問題監控和定位。python
安裝篇:mysql
1>下載:
https://github.com/innotop/innotop
文件:
innotop-master.zipgit2>若是centos不支持zip解壓時:github
yum install zip unzipsql
3>進入innotop目錄:
cd innotop-mastercentosperl Makefile.PL服務器
!!!若是有報錯,根據報錯信息,缺什麼補什麼
例如:
--yum search DBI(用這個模糊搜索)
yum -y install perl-TermReadKey.x86_64
yum -y install perl-DBD-MySQL.x86_64
yum -y install perl-Time-HiRes運維perl Makefile.PL
make
make install異步直到此時安裝成功!
登陸篇:
innotop --help
(重要參數)
--delay -d Delay between updates in seconds #多少秒更新一次
--host -h Connect to host #鏈接的主機名
--mode -m Operating mode to start in #登陸進入後進入哪一個指標監控模式
--password -p Password to use for connection #鏈接的密碼
--port -P Port number to use for connection #鏈接的端口號
--user -u User for login if not current user #鏈接MySQL的用戶innotop -u mysql -p'123456' -h 192.168.0.154 -m C
參考:
http://www.cnblogs.com/ivictor/p/5101506.html
http://www.cnblogs.com/kerrycode/p/7656338.html
######################################################
使用篇:
Switch to a different mode: A Dashboard I InnoDB I/O Info Q Query List B InnoDB Buffers K InnoDB Lock Waits R InnoDB Row Ops C Command Summary L Locks S Variables & Status D InnoDB Deadlocks M Replication Status T InnoDB Txns F InnoDB FK Err O Open Tables U User Statistics Actions: d Change refresh interval (更改刷新間隔) q Quit innotop (退出innotop工具) k Kill a query's connection (殺死一查詢鏈接) r Reverse sort order (反向排序) n Switch to the next connection(切換到下一個鏈接) s Choose sort column (選擇排序字段) p Pause innotop (中止innotop) x Kill a query(殺死查詢) Other: TAB Switch to the next server group 切換到另一組服務器 / Quickly filter what you see 快速過濾你所見信息 ! Show license and warranty 顯示License等相關信息 = Toggle aggregation # Select/create server groups 選擇或建立服務器組 @ Select/create server connections 選擇或建立服務器鏈接 $ Edit configuration settings 編輯配置設置信息 \ Clear quick-filters 清除快速過濾設置 Press any key to continue
Query List
其中 Load 是負載
QPS (Query Per Second) 表示每秒的查詢率
Slow 表明慢查詢的個數
Se/In/Up/De%: 增,刪,改,查的比率
QCacheHit:查詢緩衝的命中率
KCacheHit:索引的命中率
BpsIn (bytes Per Second in) 每秒鐘輸入的字節數
BpsOut(bytes Per Second Out)每秒鐘輸出的字節數
在這個頁面,可輸入e、f、o等鍵
e鍵 : 按e並輸入thread ID,就能顯示該SQL的執行計劃
f鍵 : 顯示當前正在運行的完整SQL語句
o鍵 : 顯示當前SQL被mysql內部優化後的SQL
InnoDB Buffers
##Buffer Pool
Size : 某sql使用Buffer Pool的大小
Free Bufs : Innodb_buffer_pool_pages_free的值,空頁數;
Pages: Innodb_buffer_pool_pages_data的值, 包含數據的頁數(髒或乾淨)
Dirty Pages : Innodb_buffer_pool_pages_dirty的值,當前的髒頁數
Hit Rate: 命中率
Memory : Innodb_buffer_pool_size 的值.
Add'l Pool : innodb_additional_mem_pool_size的值
##Page Statistics(頁面統計)
Reads : Innodb_pages_read 的值,讀取的頁數
Writes : Innodb_pages_written 的值,寫入的頁數
Created : Innodb_pages_created 的值,建立的頁數
Reads/Sec : 每秒讀取的頁數
Writes/Sec : 每秒寫入的頁數
Creates/Sec : 每秒建立的頁數
##Insert Buffers
Inserts : 表示執行insert 次數
Merged Recs : 表示執行 insert 索引樹合併的次數
Merges: insert 語句合併的次數
Size: 寫緩衝的大小
Free List Len : 空閒列表長度
Seg. Size: 段塊大小
##Adaptive Hash Index 自適應哈希索引
Size: 哈希索引佔用大小
Cells Used:
Node Heap Bufs:
Hash/Sec: 每秒哈希索引量
Non-Hash/Sec: 每秒非哈希索引的量
Deadlock Locks(死鎖)
ID:鏈接線程ID號
Timestring: 死鎖發生的時間
User:用戶名
Host:主機
Victim:Yes表示這個死鎖SQL被強行終止了.No表示這個SQL正在執行
Time : 這條SQL的運行時間
Undo : 回滾
LStrcts: 不知道是什麼的縮寫
Query Text : 死鎖執行的SQL
Innodb IO info
##Pending I/O 掛起的IO
Async Rds : Asynchronous Reads 異步讀
Async Wrt: : Asynchronous Write 異步寫
IBuf Async Rds: : Innodb Buffer Asynchronous Reads 緩衝池的異步讀
Sync I/Os: : Asynchronous Input/Output:的異步
Log Flushes : log Flushes
Log I/Os : Input/Output 異步寫入/讀出日誌
##File I/O Misc(文件IO)
OS Reads: 系統I./O的讀
OS Writes: 系統.I/O的寫
OS fsyncs: 系統文件同步
Reads/Sec: 每秒多少次讀
Writes/Sec: 每秒多少次寫
Bytes/Sec: 每秒多少字節的輸入輸出
##Log Statistics(日誌統計)
Sequence No: Innodb buffer 裏面的 LSN 號
Flushed To: 刷新到事務日誌的LSN號
Last Checkpoint:: LSN的檢查點
IO Done: 多少I/O已經完成
IO/Sec: 每秒I/O次數
M模式:Replication Status(查看複製狀態的信息)
I模式: InnoDB I/O Info (查看InnoDB對應的I/O的信息)
O模式: 查看打開的表
Q模式(很是管用的一項):
而後e輸入thread ID顯示執行計劃或者按F顯示完整的sql語句。
參考:https://www.jianshu.com/p/b8508fe10b8e