工具名称: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 的各种状态。希望你能找到影响性能的瓶颈。