工具名称:innotop
工具作用:观察mysql的状态,如线程状态,各种缓存状态,锁状态,QPS,正在执行的sql,死锁,innodb的I/O信息等,类似于linux下top这个系统工具

INNOTOP是一个通过文本模式显示MySQL和 InnoDB的监测工具。它有很多特点,快速的配置的,易于使用等。它吸取了MYTOP的精华这使它变得更加强大。
INNOTOP是用PERL语言写成 的,这是它能更加灵活的使用在各种操作平台之上,它能详细的的监控出当前MYSQL和INNODB运行的状态,以便维护人员根据结果合理的优化 MYSQL,让MYSQL更稳定更高效的运行。

安装INNOTOP工具非常的简单,既然是由PERL写的,当然需要PERL环境和相关的工具包。

1、下载innotop的源码包,可以从

http://code.google.com/p/innotop/downloads/list 下载源码包,下载之后可以解压.
# tar -zxvf innotop-1.8.1.tar.gz
# cd innotop-1.8.1 进入目录之后可以查看文件,可以查看 INSTALL 文件查看安装步骤。
# perl Makefile.PL

执行后如果出现如下内容:

Checking if your kit is complete...
Looks good
Warning: prerequisite Term::ReadKey 2.1 not found.
Writing Makefile for innotop

那么就是有需要的perl库没有安装,使用cpan安装。

# perl -MCPAN -e shell  //如果第一次使用cpan需要一些配置,一般直接回车就可以了,最后选择一个源。
cpan> install Term::ReadKey  //最后显示OK,那么就安装完成了。
# perl Makefile.PL   再次运行
Writing Makefile for innotop
#make install  //安装 innotop。
#make uninstall  //卸载innotop

安装之后系统就会多出一个命令,innotop
#innotop –help 就会看到


[root@test innotop-1.8.0]# innotop  –help

Usage: innotop
 
–[no]color   -C   Use terminal coloring (default)
–config      -c   Config file to read
–count            Number of updates before exiting
–delay       -d   Delay between updates in seconds
–help             Show this help message
–host        -h   Connect to host
–[no]inc     -i   Measure incremental differences
–mode        -m   Operating mode to start in
–nonint      -n   Non-interactive, output tab-separated fields
–password    -p   Password to use for connection
–port        -P   Port number to use for connection
–skipcentral -s   Skip reading the central configuration file
–socket      -S   MySQL socket to use for connection
–timestamp   -t   Print timestamp in -n mode (1: per iter; 2: per line)
–user        -u   User for login if not current user
–version          Output version information and exit
–write       -w   Write running configuration into home directory if no config files were loaded

加上需要的参数就可以监控mysql 。
如# innotop -uuser -ppassword -S sock路径
就会看到

[RO] Query List (? for help)                                localhost, 3+22:33:35.004, 0.74 QPS, 3/1/19 con/run/cac thds, 5.1.50-log
When   Load  QPS   Slow  Se/In/Up/De%  QCacheHit  KCacheHit  BpsIn  BpsOut
Total  0.00  0.74     0  58/ 0/14/ 0      57.71%     99.75%  45.60  454.74
Cmd    ID      State  User   Host           DB      Time   Query

然后输入? 帮助

Switch to a different mode:
B  InnoDB Buffers    L  Locks               R  InnoDB Row Ops
C  Command Summary   M  Replication Status  S  Variables & Status
D  InnoDB Deadlocks  O  Open Tables         T  InnoDB Txns
F  InnoDB FK Err     Q  Query List          U  User Statistics
I  InnoDB I/O Info
Actions:
a  Toggle the innotop process    k  Kill a query’s connection
c  Choose visible columns        n  Switch to the next connection
d  Change refresh interval       p  Pause 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
Press any key to continue

根据上面的提示查看mysql 的各种状态。希望你能找到影响性能的瓶颈。