MySQL 監控-innotop

innotop 編寫者Balon Schwartz,《高性能MySQL》的作者之一。
innotop的作用為實時地展示服務器正在發生的事情,監控innodb,監控多個MySQL實例,是一款MySQL運維和問題定位分析的工具。

具體特性 :
事務列表可以顯示Inoodb當前的全部事務
查詢列表可以顯示當前正在運行的查詢
可以顯示當前鎖和鎖等待的列表
以相對值顯示服務器狀態和變量的匯總信息
有多種模式可用來顯示Innodb內部信息(緩沖區、死鎖、外鍵錯誤、I/O活動、行操作、信號量)
復制監控,將主服務器和從服務器的狀態顯示在一起
顯示任意服務器變量的模式
服務器組可以更方便地組織多臺服務器
在命令行腳本下可以使用非交互式模式

本文主要介紹innotop的常用方式-主用于現網MySQL服務器的問題監控和定位。


  1. 監控方式
    innotop -uroot -proot -h127.0.0.1
Uptime  MaxSQL  ReplLag  QPS    Cxns  Run  Miss  Lock  Tbls  Repl  SQL
  2d6h                   10.23   316       0.00     0    64           

輸入?,則進入幫助頁面


innotop.jpg

第一部分為可切換的模式-輸入相應的大寫字母
第二部分可進行的操作-輸入相應的小寫字母
第三部分 其他-配置類操作

  1. Q Query List
    innodb中最常用的模式,輸入大寫Q,進入該模式的視圖頁面。
[RO] Query List (? for help)                                                                                                                                                                                   localhost, 17d, 10.47 QPS, 58/1/59 con/run/cac thds, 5.6.29-log
When   Load  Cxns    QPS    Slow    Se/In/Up/De%  QCacheHit  KCacheHit  BpsIn  BpsOut
Now    0.05  58      10.47   0      32/ 0/ 0/ 0       0.00%    100.00%  5.60k  20.38k
Total  0.00   7.81k  14.99  11.01k  36/ 2/ 2/ 0       0.00%     99.99%  2.55k  20.79k
Cmd    ID      State  User   Host     DB      Time   Query

參數詳解
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

  1. B InnoDB Buffers
    模式顯示有關InnoDB Buffer Pool,頁面統計,插入緩沖,自適應哈希索引。
    使用的是show innodb status的數據。
____________________________ Buffer Pool _____________________________
Size    Free Bufs  Pages  Dirty Pages  Hit Rate     Memory  Add'l Pool
63.99k      13207  48854            0  1000 / 1000   1.02G           0
____________________ Page Statistics _____________________
Reads  Writes  Created  Reads/Sec  Writes/Sec  Creates/Sec
21299  240690    29436       0.00        0.61         0.00
______________________ Insert Buffers ______________________
Inserts  Merged Recs  Merges  Size  Free List Len  Seg. Size
                   0       0     1           1316       1318
__________________ Adaptive Hash Index __________________
Size   Cells Used  Node Heap Bufs  Hash/Sec  Non-Hash/Sec
2.26M                        3467      0.04        139.75

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: 每秒非哈希索引的量

  1. D InoDB Deadlocks
    顯示innodb產生的死鎖,和產生死鎖的語句。
______________________ Deadlock Transactions ______________________
ID  Timestring  User  Host  Victim  Time  Undo  LStrcts  Query Text
____________________ Deadlock Locks ____________________
ID  Waiting  Mode  DB  Table  Index  Special  Ins Intent

參數詳解:
ID:連接線程ID號
Timestring : 死鎖發生的時間
User: 用戶名
Host:主機
Victim:Yes表示這個死鎖SQL被強行終止了.No表示這個SQL正在執行
Time : 這條SQL的運行時間
Undo : 回滾
LStrcts: 不知道是什么的縮寫
Query Text : 死鎖執行的SQL

  1. I InnoDB I/O Info
    顯示InnoDB的I / O統計,包括I / O線程,掛起的I / O,文件I / O,日志統計
_________________________ I/O Threads __________________________
Thread  Purpose               Thread Status                     
     0  insert buffer thread  waiting for completed aio requests
     1  log thread            waiting for completed aio requests
     2  read thread           waiting for completed aio requests
     3  read thread           waiting for completed aio requests
     4  read thread           waiting for completed aio requests
     5  read thread           waiting for completed aio requests
     6  write thread          waiting for completed aio requests
     7  write thread          waiting for completed aio requests
     8  write thread          waiting for completed aio requests
     9  write thread          waiting for completed aio requests
____________________________ Pending I/O _____________________________
Async Rds  Async Wrt  IBuf Async Rds  Sync I/Os  Log Flushes  Log I/Os
                                   0          0            0         0
________________________ File I/O Misc _________________________
OS Reads  OS Writes  OS fsyncs  Reads/Sec  Writes/Sec  Bytes/Sec
   22142    1163454     982096       0.00        0.00          0
_____________________ Log Statistics ______________________
Sequence No.  Flushed To   Last Checkpoint  IO Done  IO/Sec
20178545268   20178545268  20178545268       870538    0.00

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次數


通過以上的幾個命令就可以快速地找到死鎖,InnoDB buffer使用情況,I/O的使用情況,當前正在運行的SQL等,可滿足最基本的運維監控和問題定位,且不用記和輸入多次命令噢,實用性很強。

PS: innotop安裝 yum install innotop (本人環境:centos6.2 和 centos7)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,619評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,155評論 3 425
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,635評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,539評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,255評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,646評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,838評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,399評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,146評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,338評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,565評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,983評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,257評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,059評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,296評論 2 376

推薦閱讀更多精彩內容