pt-stalk
网上现有的一篇博客,感觉写的不错,我就给拔下来了,自己也测一下:
在MySQL服务器出现短暂(5~30秒)的性能波动的时候,一般的性能监控工具都很难抓住故障现场,也就很难收集对应较细粒度的诊断信息。另外,如果这种波动出现的频率很低,例如几天才一次,我们也很难人为的抓住现场,收集数据。这正是pt-stalk所解决的问题。
连接数大于25就开始记录相关信息:
./pt-stalk --collect-tcpdump --function status --variable Threads_connected --threshold 25 --daemonize -- --host=10.103.16.35 --port=3306 --user=root --password=123456
日志默认存储:/var/log/pt-stalk.log
记录文件默认存储:/var/lib/pt-stalk
在上面的示例中触发参数是:"--function status --variable Threads_connected --threshold 2500",表示MySQL状态值Threads_connected超过2500时触发数据收集。常用的触发条件还可以使用Threads_running等。
另外还可以使用SHOW PROCESSLIST的中的结果触发,例如"--function processlist --variable State --match statistics --threshold 10"表示,show processlist中State列的值为statistics的线程数超过10则触发收集。
其他的参数:
--iterations:该参数指定pt-stalk在收集几次故障现场后就退出。默认pt-stalk会一直运行 --run-time:触发收集后,该参数指定收集多长时间的数据。默认是30秒 --sleep:为防止一直触发收集数据,该参数指定在某次触发后,必须sleep一段时候才继续观察并触发收集。默认是300秒 --interval:默认情况pt-stalk会每隔一秒检查一次状态数据,判断是否需要触发收集。该参数指定间隔时间,默认是1秒。 --cycles:默认情况pt-stalk只有连续观察到五次状态值满足触发条件时,才触发收集。该参数控制,需要连续几次满足条件,收集被触发,默认是5次。
热衷于学习讨论MySQL和SQL Server,NoSQL等数据库技术,欢迎加入SQL优化群:659336691