使用 pt-stalk 诊断 MySQL 问题
来源:互联网 发布:复制软件 编辑:程序博客网 时间:2024/05/17 09:11
① 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=oracle2013_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.log2013_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=12013_04_10_15_14_34 Check results: Threads_connected=4, matched=yes, cycles_true=22013_04_10_15_14_35 Check results: Threads_connected=4, matched=yes, cycles_true=32013_04_10_15_14_36 Check results: Threads_connected=4, matched=yes, cycles_true=42013_04_10_15_14_37 Check results: Threads_connected=4, matched=yes, cycles_true=52013_04_10_15_14_37 Collect 1 triggered2013_04_10_15_14_37 Collect 1 PID 240222013_04_10_15_14_37 Collect 1 done2013_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
- 使用pt-stalk诊断MySQL问题
- 使用 pt-stalk 诊断 MySQL 问题
- (转)使用pt-stalk诊断MySQL问题
- 使用pt-stalk诊断MySQL问题
- 使用pt-stalk诊断MySQL问题
- 使用pt-query-digest分析mysql
- MySQL数据库诊断:InnoDB关机问题
- MYSQL之pt-query-digest分析mysql负载性能问题
- 诊断mysql
- [MySQL 工具] pt-mysql-summary使用分析mysq数据库
- [MySQL 工具] pt-query-digest使用出错问题分析Can't locate Time/HiRes.pm in @INC
- 使用OWI诊断Oracle性能问题
- tcpdump&pt-query-digest分析mysql负载性能问题
- MySQL PT Error copying rows for 问题记录
- 使用pt-table-checksum和pt-table-sync工具验证和修复主从数据不一致问题
- 使用pt-query-digest分析mysql slow query log
- 使用pt-query-digest分析mysql slow query log
- 使用pt-query-digest分析mysql slow query log
- POI读取Excel(兼容Excel2003、Excel2007)
- [算法] poj 2387 单源最短路 Dijkstra
- VC6.0 error LNK2001: unresolved external symbol _main解决办法
- java serializable深入了解
- del_09dbf6b66ca77798b8184367605f9bbebef6acc6_1_新建文本文档 (4)
- 使用 pt-stalk 诊断 MySQL 问题
- 在从1到n的正数中1出现的次数
- Calendar GregorianCalendar 计算某年有多少周 、周的开始结束日期、日期的周数
- Command设计模式-文件过滤器FilenameFilter
- inux 音频架构 alsa hda
- 如何在Linux下通过ldapsearch查询活动目录的内容
- instruments的资料,内存泄漏
- 分析easyVM
- 男人要知道的40条忠告