mysql5.0支持pt_使用 pt-stalk 诊断 MySQL 问题

pt_stalk是一款用于诊断MySQL性能问题的工具,尤其适用于处理偶尔出现的性能波动。本文介绍了pt_stalk的安装过程,包括解决依赖问题,以及如何配置和使用pt_stalk进行监控。pt_stalk通过设定阈值,如Threads_connected超过特定数值时,启动数据收集,包括性能和状态信息,并记录在日志中,帮助分析MySQL服务器的异常状况。
摘要由CSDN通过智能技术生成

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后台运行(--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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值