安裝並使用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

您的支持是對博主最大的鼓勵,感謝您的認真閱讀。本文版權歸作者所有,歡迎轉載,但請保留該聲明。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM