用percona
系统类工具 1. pt-diskstats 功能介绍: 是一个对GUN/LINUX的交互式监控工具 用法介绍: pt-diskstats [OPTION...] [FILES] 为GUN/LINUX打印磁盘io统计信息,和iostat有点像,但是这个工具是交互式并且比iostat更详细。可以分析从远程机器收集的数据。 使用示例: 范例1:查看本机所有的磁盘的状态情况: pt-diskstats 范例2:只查看本机sda2磁盘的状态情况 pt-diskstats --devices-regex sda2 pt-fifo-split --lines 1000000 hugefile.txtwhile [ -e /tmp/pt-fifo-split ]; do cat /tmp/pt-fifo-split; done 范例2:一个每次读取一百万行,指定fifo文件为/tmp/my-fifo,并使用load data命令导入到mysql中: pt-fifo-split infile.txt --fifo /tmp/my-fifo --lines 1000000while [ -e /tmp/my-fifo ]; do mysql -e "set foreign_key_checks=0; set sql_log_bin=0; set unique_checks=0; load data local infile '/tmp/my-fifo' into table load_test fields terminated by '/t' lines terminated by '/n' (col1, col2);" sleep 1;done pt-summary 原理:此工具会运行和多命令去收集系统状态和配置信息,先保存到临时目录的文件中去,然后运行一些unix命令对这些结果做格式化,最好是用root用户或者有权限的用户运行此命令。 pt-summary pt-stalk --function status --variable Threads_running --threshold 20 --dest /tmp/test -- -uroot -pzhang@123 -h192.168.3.135 范例2:指定诊断触发条件为processlist,超过20个状态为statistics触发,收集的数据存放在/tmp/test目录下: pt-stalk --function processlist --variable State --match statistics --threshold 20 --dest /tmp/test -- -uroot -pzhang@123 -h192.168.3.135 贴一下达到触发条件以后收集的信息: 2012_06_04_17_31_49-df2012_06_04_17_31_49-disk-space2012_06_04_17_31_49-diskstats2012_06_04_17_31_49-hostname2012_06_04_17_31_49-innodbstatus12012_06_04_17_31_49-innodbstatus22012_06_04_17_31_49-interrupts2012_06_04_17_31_49-log_error2012_06_04_17_31_49-lsof2012_06_04_17_31_49-meminfo2012_06_04_17_31_49-mutex-status12012_06_04_17_31_49-mysqladmin2012_06_04_17_31_49-netstat2012_06_04_17_31_49-netstat_s2012_06_04_17_31_49-opentables12012_06_04_17_31_49-opentables22012_06_04_17_31_49-output2012_06_04_17_31_49-pmap2012_06_04_17_31_49-processlist2012_06_04_17_31_49-procstat2012_06_04_17_31_49-procvmstat2012_06_04_17_31_49-ps2012_06_04_17_31_49-slabinfo2012_06_04_17_31_49-sysctl2012_06_04_17_31_49-top2012_06_04_17_31_49-trigger2012_06_04_17_31_49-variables2012_06_04_17_31_49-vmstat2012_06_04_17_31_49-vmstat-overall
pt-index-usage /data/dbdata/localhost-slow.log --host=localhost --user=root --password=zhang@123 将分析结果保存到数据库范例: pt-index-usage /data/dbdata/localhost-slow.log --host=localhost --user=root --password=zhang@123 --no-report --create-save-results-database 使用--create-save-results-database会自动生成数据库和表来保存结果。 pt-pmp -p 21933pt-pmp -b /usr/local/mysql/bin/mysqld_safe 3. pt-visual-explain pt-visual-explain aaa 查看包含查询语句的aaa文件的范例: pt-visual-explain --connect aaa --user=root --password=zhang@123 通过管道直接查看explain输出结果的范例: mysql -uroot -pzhang@123 -e "explain select email from test.collect_data where id=101992419" |pt-visual-explain |