mytop
show statusとshow full processlistを発行し、取得した情報から統計情報などを算出して表示するPerlスクリプト
root@hostname:/home/admin# aptitude install mytop 以下の新規パッケージがインストールされます: libconfig-inifiles-perl{a} liblist-moreutils-perl{a} libterm-readkey-perl{a} mytop 更新: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。 root@hostname:/home/admin# mytop -s 1 -uroot -ppassword # 1秒おきに更新する(デフォルト5秒) MySQL on localhost (5.5.39-MariaDB-1~wheezy-log) up 6+02:13:17 [16:35:46] Queries: 77.0 qps: 0 Slow: 0.0 Se/In/Up/De(%): 50366/00/00/00 qps now: 0 Slow qps: 0.0 Threads: 2 ( 1/ 2) 250/00/00/00 Key Efficiency: 100.0% Bps in/out: 0.0/ 0.9 Now in/out: 8.3/ 2.3k Id User Host/IP DB Time Cmd Query or State -- ---- ------- -- ---- --- -------------- 4703 root localhost 0 Query show full processlist 4705 root localhost techwordpr 7 Sleep # [?]:可能なコマンドを表示する # [k]:スレッドを指定して、KILLする # [p]:画面を一時停止する # [k]:mytopを終了する
innotop
innotopはMySQLとInnoDBのトランザクションやステータスをモニターすることができ、「mytopをインスパイアして作った」と作者が明言しており、機能はmytop以上
mariadb-client-5.5・mysql-client-5.5にインストールされているため、大抵デフォルトで利用できる
また、対話式で各種設定を行えば「$HOMEDIR/.innotop」というファイルが生成され、この機能を利用して複数サーバを確認することなども可能
### innotop -u DBユーザ -p パスワード -P 3306 -h DBサーバ名 -d 1 --mode Q ### コマンドオプションの -d は表示切替間隔(秒) 、--mode は 何を表示するかの指定 root@hostname:/home/admin# innotop -uroot -ppassword --mode B -d 1 [RO] InnoDB Buffers (? for help) localhost, 33+03:16:39, InnoDB 7s :-), 0.19 QPS, 1/0/0 con/run/cac thds, 5.5.39-MariaDB-1~wheezy-log ___________________________ Buffer Pool ____________________________ Size Free Bufs Pages Dirty Pages Hit Rate Memory Add'l Pool 16.00k 13265 3096 0 -- 262.75M 0 ____________________ Page Statistics _____________________ Reads Writes Created Reads/Sec Writes/Sec Creates/Sec 1016 149686 2080 0.00 0.00 0.00 ______________________ Insert Buffers ______________________ Inserts Merged Recs Merges Size Free List Len Seg. Size _________________ Adaptive Hash Index __________________ Size Cells Used Node Heap Bufs Hash/Sec Non-Hash/Sec 0.00 0.00 ### [?]でヘルプが表示される [RO] InnoDB Buffers (? for help) localhost, 33+03:15:42, InnoDB 4s :-), 0.19 QPS, 1/0/0 con/run/cac thds, 5.5.39-MariaDB-1~wheezy-log 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 ### Q / B / M / D / I あたりは使う頻度高め Actions: d Change refresh interval p Pause innotop i Toggle incremental status display q Quit innotop n Switch to the next connection 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 Press any key to continue ### 0.5秒間隔で120回、つまり1分間サンプリングを取得する ### ### 更新間隔秒数は指定できるが、どれだけ小さくしても漏れるクエリがあるためあまり信用してはならない ### root@hostname:/home/admin# innotop -w -uroot -ppassword -d 0.5 --count 100 -n | tee /tmp/innodb.log cmd mysql_thread_id state user hostname db time info Connect 26272 Reading from net unauthenticated user localhost 00:00 Connect 26273 Reading from net unauthenticated user localhost 00:00 Connect 26274 Reading from net unauthenticated user localhost 00:00
参考URL
mytopの使い方
http://www.flatz.jp/archives/85
http://koexuka.blogspot.jp/2011/02/mytop.html
innotopの使い方
http://yakst.com/ja/posts/78
http://d.hatena.ne.jp/interdb/20100412/1271068031