zoukankan      html  css  js  c++  java
  • 安装并使用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

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

  • 相关阅读:
    PAT 解题报告 1009. Product of Polynomials (25)
    PAT 解题报告 1007. Maximum Subsequence Sum (25)
    PAT 解题报告 1003. Emergency (25)
    PAT 解题报告 1004. Counting Leaves (30)
    【转】DataSource高级应用
    tomcat下jndi配置
    java中DriverManager跟DataSource获取getConnection有什么不同?
    理解JDBC和JNDI
    JDBC
    Dive into python 实例学python (2) —— 自省,apihelper
  • 原文地址:https://www.cnblogs.com/xuanzhi201111/p/4040761.html
Copyright © 2011-2022 走看看