慢查询日志分析工具之pt-query-digest
简介
pt-query-digest 是用于分析mysql慢查询的一个工具,与mysqldumpshow工具相比,py-query_digest 工具的分析结果更具体,更完善。
有时因为某些原因如权限不足等,无法在服务器上记录查询。这样的限制我们也常常碰到,所以开发了两种替代的技术,都集成到了Percona Toolkit 中的 pt-query-digest 中。
第一种是通过 --processlist 选项不断查看 SHOW FULL PROCESSLISTR 的输出,记录查询第一次出现的时间和消失的时间。某些情况下这样的精度也足够发现问题,但却无法捕获所有查询。一些执行较快的查询可能在两次执行的间隙就执行完成了,从而无法捕获到。
第二种是通过抓取TCP网络包,然后根据MYSQL的客户端/服务端通信协议进行解析。可以先通过 tcpdump 将网络包数据保存到磁盘,然后使用 pt-query-digest 的 --type=tcpdump 选项来解析并分析查询。此方法的精度比较高,并且可以捕获所有的查询。还可以解析更高级的协议特性,比如可以解析二进制协议,从而创建并执行服务器端预解析的语句(prepared statement)及压缩协议。另外还有一种方法,就是通过MYSQL Proxy 代理层的脚本来记录所有查询,但在实践中我们很少这样做。
在windows中安装
在我的 mysql/bin 文件夹里并没有 pt-query-digest.pl 文件,并且要想在windows中支持perl文件,得先安装 perl 支持,安装方法可查看 慢查询日志分析工具之mysqldumpslow。接下来在 mysql/bin 文件夹下打开 git bash窗口,输入命令:
curl -o pt-query-digest.pl https://www.percona.com/get/pt-query-digest
进度为100%表示下载完成,可以使用命令验证: perl pt-query-digest.pl --help
使用方法
具体使用方法请查看 http://www.php.cn/mysql-tutorials-357655.html
最新文章
- iOS 隐藏状态栏
- gulp(一)
- MySQL Database on Azure 的用户名
- C++11---nullptr
- 【COGS】714. USACO 1.3.2混合牛奶(贪心+水题)
- asp.net 使用JQuery 调用Ashx 后面直接写方法名,通过反射找到对应的方法
- python AES 加密与解密
- 最短路径floy算法———模板
- 有关docker新版的icc、iptables的一个巨坑
- ROS Node/Topic/Message/Service的一些问题
- CodeForces 677D Vanya and Treasure
- google-c-style
- ExecutorService的submit方法使用
- HUST 1588 辗转数对
- 初试valgrind内存调试工具
- capwap学习笔记——capwap的前世今生(转)
- 构建SpringBoot第一个Demo
- java文章标题及文章相似度计算hash算法实现
- PAT甲级1141 Ranking of Institutions
- webform ajax 异步请求