雑多なインフラエンジニア日記

技術ブログでっす~

MySQL innotop (リアルタイムにMySQLを確認)

MySQL使うなら必須!超絶便利な「innotop」


innotopとは、、、、

簡単に言うと、MySQL用 topコマンドです。(innodbのみ対応)

クエリ実行状況、スレーブ状況、buufer pool・・・諸々リアルタイムに確認
出来ちゃいます。

show processlist とか打つのめんどい~って人は目から鱗かと。。



・とりあえず、ソースからの導入手順です。(リポジトリにあればrpmでもOK)
※バージョンなどは環境依存ですので適宜読み替えて下さい。
makeなどでエラーが出たらググれば何とかなるはずです!

inntop本体はここからゲットんして下さい。
http://code.google.com/p/innotop/downloads/list

cd /tmp
tar xfz innotop-1.8.0.tar.gz
tar xfz TermReadKey-2.30.02.tar.gz
tar xfz Time-HiRes-1.9725.tar.gz
tar xfz ExtUtils-MakeMaker-6.62.tar.gz

cd ExtUtils-MakeMaker-6.62
perl Makefile.PL && make && make test && make install

cd ../Time-HiRes-1.9725
perl Makefile.PL && make && make install

cd ../TermReadKey-2.30.02
perl Makefile.PL && make test && make install

cd ../innotop-1.8.0
perl Makefile.PL && make install



・inntop 動作確認 (エラーが出なければとりあえずOKです。)
※記憶が確かなら、DBユーザにそれなりの権限が無いと怒られます。

/usr/bin/innotop --version
/usr/bin/innotop -u DBユーザ -p パスワード -P 3306 -h DBサーバ名 -d 1 --mode Q



コマンドオプションの -d は表示切替間隔(秒) 、--mode は 何を表示するかの
指定となります。
(Q の場合、クエリの実行状況が表示されます。)

ちなみに、-d を -n に変更すると、インタラクティブモードになり、top風では
なく、標準出力で表示されますので、ログに保存することも可能です。

inntop起動後、? を押すとヘルプが表示されるので、見れば何となく理解して頂
けるかと思います。

Q / B / M / D / I あたりは個人的に使う頻度高めです。


・B (InnoDB BufferのHitRateなどを確認)


____________________________ Buffer Pool _____________________________
Size Free Bufs Pages Dirty Pages Hit Rate Memory Add'l Pool
1.10M 499801 584638 11 1000 / 1000 19.32G 20.00M

_____________________ Page Statistics ______________________
Reads Writes Created Reads/Sec Writes/Sec Creates/Sec
426659 4569628 199869 0.00 7.80 0.00

______________________ Insert Buffers ______________________
Inserts Merged Recs Merges Size Free List Len Seg. Size
9449 9449 2775 1 0 2

__________________ Adaptive Hash Index __________________
Size Cells Used Node Heap Bufs Hash/Sec Non-Hash/Sec
895284.34 45228.35



スクリーンショット
http://code.google.com/p/innotop/wiki/Screenshots


・もう少しツッコンだ使い方は以下を参照して下さい。
http://d.hatena.ne.jp/mikeda/20120205/1328423693


以上でございます。