• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用 pt-stalk 诊断 MySQL 有关问题

mysql 搞代码 7年前 (2018-06-06) 142次浏览 已收录 0个评论

使用 pt-stalk 诊断 mysql 问题
   pt-stalk 适用场景:
   
   ① MySQL Server 性能波动出现的频率很低、例如、几天一次
   ② MySQL Server 性能波动出现的机率很快、例如、几秒闪过
   
   ㈠ 安装
   
   ① 下载
         http://www.percona.com/downloads/percona-toolkit/LATEST/
   
      
   ② 问题
      
        MySQL RPM安装的可能会遇到下面问题:
   
        Warning: prerequisite DBD::mysql 3 not found.
        Warning: prerequisite DBI 1.46 not found.
        Writing Makefile for percona-toolkit
   
      处理方法如下:
      分 2 步:
      
      ⑴ 配置 percona 源:
   
           http://www.percona.com/doc/percona-server/5.5/installation/yum_repo.html
   
           # yum list | grep percona
           # yum install Percona-Server-shared-compat-5.5.19-rel24.0.204.rhel5.i386.rpm
      
      ⑵ 安装驱动
      
           Perl DBD::mysql
         
           下载:http://search.cpan.org/~capttofu/DBD-mysql-3.0007_2/
           不过、这之前要先把 MySQL-devel-community 包给打上
   
   
   ㈡ 使用
      

        例子

[root@localhost ~]# pt-stalk --collect-tcpdump --function status / > --variable Threads_connected --threshold 2 / > --daemonize -- --user=root --password=oracle 2013_04_10_15_15_34 PID file /var/run/pt-stalk.pid already exists and its PID (23950) is running

欢迎大家阅读《使用 pt-stalk 诊断 MySQL 有关问题》,跪求各位点评,by 搞代码

      上面的命令表示,让pt-stalk后台运行(–daemonize),并监视SHOW GLOBAL STATUS中的Threads_connected状态值
      如果该值超过2,则触发收集主机和MySQL的性能、状态信息
      pt-stalk会每隔一秒检查一次状态值,如果连续5次满足触发条件,则开始收集
      –collect-tcpdump表示除了收集基本信息外,还将额外使用tcpdump收集当时的网络包
      类似的还可以使用–collect-gdb等
    
      
   ㈢ 查看 pt-stalk 的工作状态
      
        pt-stalk是一个后台程序,默认我们可以通过文件/var/log/pt-stalk.log,查看pt-stalk的运行状态:

[root@localhost ~]# tail -f /var/log/pt-stalk.log 2013_04_10_15_14_33 Starting /usr/bin/pt-stalk --function=status --variable=Threads_connected --threshold=2 --match= --cycles=5 --interval=1 --iterations= --run-time=30 --sleep=300 --dest=/var/lib/pt-stalk --prefix= --notify-by-email= --log=/var/log/pt-stalk.log --pid=/var/run/pt-stalk.pid --plugin= 2013_04_10_15_14_33 Check results: Threads_connected=4, matched=yes, cycles_true=1 2013_04_10_15_14_34 Check results: Threads_connected=4, matched=yes, cycles_true=2 2013_04_10_15_14_35 Check results: Threads_connected=4, matched=yes, cycles_true=3 2013_04_10_15_14_36 Check results: Threads_connected=4, matched=yes, cycles_true=4 2013_04_10_15_14_37 Check results: Threads_connected=4, matched=yes, cycles_true=5 2013_04_10_15_14_37 Collect 1 triggered 2013_04_10_15_14_37 Collect 1 PID 24022 2013_04_10_15_14_37 Collect 1 done 2013_04_10_15_14_37 Sleeping 300 seconds after collect

      你还可以通过参数–log指定一个你希望的log目录和文件


      
   ㈣ pt-stalk收集的性能和状态数据存放处
      
        默认pt-stalk将收集的数据放在目录/var/lib/pt-stalk下,你可以使用参数–dest指定你希望的目录
        这些数据都是原始数据,我们可以根据这些来分析当时MySQL或者主机是否有异常
      
      


   ㈤ pt-stalk的触发条件
      
      在上面的示例中触发参数是:"–function status –variable Threads_connected –threshold 2"
      表示MySQL状态值Threads_connected超过2时触发数据收集。常用的触发条件还可以使用Threads_running等
      另外还可以使用SHOW PROCESSLIST的中的结果触发
      例如"–function processlist –variable State –match statistics –threshold 10"表示
      show processlist中State列的值为statistics的线程数超过10则触发收集
      
      
      
   更多方法、请
man pt-stalk


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用 pt-stalk 诊断 MySQL 有关问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址