Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7610123
  • 博文数量: 368
  • 博客积分: 9600
  • 博客等级: 上校
  • 技术积分: 18875
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-01 00:00
文章分类

全部博文(368)

文章存档

2017年(9)

2016年(19)

2015年(3)

2014年(6)

2013年(8)

2012年(78)

2011年(66)

2010年(135)

2009年(44)

分类: Mysql/postgreSQL

2012-06-06 10:02:36

percona-toolkit使用教程之系统类工具

1.         pt-diskstats

l  功能介绍:

是一个对GUN/LINUX的交互式监控工具

l  用法介绍:

pt-diskstats [OPTION...] [FILES]

GUN/LINUX打印磁盘io统计信息,和iostat有点像,但是这个工具是交互式并且比iostat更详细。可以分析从远程机器收集的数据。

l  使用示例:

范例1:查看本机所有的磁盘的状态情况:

pt-diskstats

范例2:只查看本机sda2磁盘的状态情况

pt-diskstats --devices-regex sda2

 

2.         pt-fifo-split

l  功能介绍:

模拟切割文件并通过管道传递给先入先出队列而不用真正的切割文件

l  用法介绍:

pt-fifo-split [options] [FILE ...]

pt-fifo-split读取大文件中的数据并打印到fifo文件,每次达到指定行数就往fifo文件中打印一个EOF字符,读取完成以后,关闭掉fifo文件并移走,然后重建fifo文件,打印更多的行。这样可以保证你每次读取的时候都能读取到制定的行数直到读取完成。注意此工具只能工作在类unix操作系统。这个程序对大文件的数据导入数据库非常有用,具体的可以查看http://www.mysqlperformanceblog.com/2008/07/03/how-to-load-large-files-safely-into-innodb-with-load-data-infile/

 

l  使用示例:

范例1:一个每次读取一百万行记录的范例:

pt-fifo-split --lines 1000000 hugefile.txt

while [ -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 1000000

while [ -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

 

3.         pt-summary

l  功能介绍:

友好地收集和显示系统信息概况,此工具并不是一个调优或者诊断工具,这个工具会产生一个很容易进行比较和发送邮件的报告。

l  用法介绍:

pt-summary

原理:此工具会运行和多命令去收集系统状态和配置信息,先保存到临时目录的文件中去,然后运行一些unix命令对这些结果做格式化,最好是用root用户或者有权限的用户运行此命令。

l  使用示例:

范例1:查看本地系统信息概况

pt-summary

 

4.         pt-stalk

l  功能介绍:

出现问题的时候收集mysql的用于诊断的数据

l  用法介绍:

pt-stalk [OPTIONS] [-- MYSQL OPTIONS]

pt-stalk等待触发条件触发,然后收集数据帮助错误诊断,它被设计成使用root权限运行的守护进程,因此你可以诊断那些你不能直接观察的间歇性问题。默认的诊断触发条件为SHOW GLOBAL STATUS。也可以指定processlist为诊断触发条件 ,使用--function参数指定。

l  使用示例:

范例1:指定诊断触发条件为status,同时运行语句超过20的时候触发,收集的数据存放在/tmp/test目录下:

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-df

2012_06_04_17_31_49-disk-space

2012_06_04_17_31_49-diskstats

2012_06_04_17_31_49-hostname

2012_06_04_17_31_49-innodbstatus1

2012_06_04_17_31_49-innodbstatus2

2012_06_04_17_31_49-interrupts

2012_06_04_17_31_49-log_error

2012_06_04_17_31_49-lsof

2012_06_04_17_31_49-meminfo

2012_06_04_17_31_49-mutex-status1

2012_06_04_17_31_49-mysqladmin

2012_06_04_17_31_49-netstat

2012_06_04_17_31_49-netstat_s

2012_06_04_17_31_49-opentables1

2012_06_04_17_31_49-opentables2

2012_06_04_17_31_49-output

2012_06_04_17_31_49-pmap

2012_06_04_17_31_49-processlist

2012_06_04_17_31_49-procstat

2012_06_04_17_31_49-procvmstat

2012_06_04_17_31_49-ps

2012_06_04_17_31_49-slabinfo

2012_06_04_17_31_49-sysctl

2012_06_04_17_31_49-top

2012_06_04_17_31_49-trigger

2012_06_04_17_31_49-variables

2012_06_04_17_31_49-vmstat

2012_06_04_17_31_49-vmstat-overall

阅读(8371) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~