安装并使用pt-ioprofile

    pt-ioprofile,是一个percona的性能分析工具,可以查看进程输出、输入,打印一些表文件及活动IO。pt-ioprofile是一个只读工具,所以对数据没风险。由于网上对pt-ioprofile的安装说明比较少,很多小伙伴都无从下手^.^

下面介绍一下pt-ioprofile的安装过程:

#!/bin/bash

toolkit(){
version=$(cat /etc/redhat-release | awk '{print $3}' | awk -F '.' '{print $1}')
if [ $version -eq 6 ]
then
   rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
else
   rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
fi

yum install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes -y
wget http://www.percona.com/downloads/percona-toolkit/LATEST/RPM/percona-toolkit-2.2.11-1.noarch.rpm
rpm -ivh percona-toolkit-2.2.11-1.noarch.rpm
}

toolkit

如果安装过程报以下错误

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
error: Failed dependencies:
        perl(DBI) >= 1.13 is needed by percona-toolkit-2.2.11-1.noarch
        perl(DBD::mysql) >= 1.0 is needed by percona-toolkit-2.2.11-1.noarch
        perl(Time::HiRes) is needed by percona-toolkit-2.2.11-1.noarch
        perl(IO::Socket::SSL) is needed by percona-toolkit-2.2.11-1.noarch

原因是rpm -ivh装了epel源后,出现yum安装异常,解决办法是编辑/etc/yum.repos.d/epel.repo,把基础的恢复,镜像的地址注释掉,

#baseurl
mirrorlist

改成

baseurl
#mirrorlist

再运行脚本安装即可

 

使用:可以man pt-ioprofile查看使用方法。

 pt-ioprofile的原理是对某个pid附加一个strace进程进行IO分析。通过ps aux|grep mysqld 找到 mysqld进程对应的进程号,通过pt-ioprofile查看哪个文件的IO占用时间最多,对于定位问题更有用的是通过IO的吞吐量来进行定位。使用参数 --cell=sizes,该参数将结果已 B/s 的方式展示出来:

 


请参考:http://www.cnblogs.com/cenalulu/archive/2013/04/12/3016714.html

请参考http://www.percona.com/doc/percona-toolkit/2.0/pt-ioprofile.html

 

作者:陆炫志

出处:xuanzhi的博客 http://www.cnblogs.com/xuanzhi201111

您的支持是对博主最大的鼓励,感谢您的认真阅读。本文版权归作者所有,欢迎转载,但请保留该声明。

posted @ 2014-10-21 16:51  GoogSQL  阅读(7436)  评论(0编辑  收藏  举报