pt-query-digest 收集MySQL tcpdump包能解析,tidb无法解析

【 TiDB 使用环境】测试
【 TiDB 版本】5.0.4
【复现路径】收集 tidb tcpdump包,使用pt-query-digest解析,解析失败

  • mysql 执行符合预期
tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql.tcp.txt
pt-query-digest --type tcpdump mysql.tcp.txt

解析成功:

![image|690x215](upload://3vNUfajX0atQ0pI2pALMAxJUhJQ.png)

  • TiDB 解析出来
tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 4000 > tidb.tcp.txt
pt-query-digest --type tcpdump tidb.tcp.txt

无法解析:

[root@centos3 deploy]# pt-query-digest  --type tcpdump mysql.tcp.txt

# No events processed.

根据您提供的信息,pt-query-digest工具无法解析TiDB的tcpdump包。这是因为TiDB的慢日志记录的时间格式与MySQL格式略有不同,因此该工具也无法正常的分析TiDB的慢日志。

您可以尝试使用TiDB自带的慢日志分析工具来分析TiDB的慢日志,具体步骤如下:

  1. 首先需要在TiDB配置文件中开启慢日志记录功能,可以通过在配置文件中添加以下配置来开启慢日志记录:
[log]
level = "info"
[log.slow-query]
file-name = "tidb-slow.log"
threshold = 300

其中,file-name指定慢日志文件的路径和文件名,threshold指定慢查询的阈值,单位为毫秒。

  1. 然后可以使用pt-query-digest工具来分析TiDB的慢日志文件,具体命令如下:
pt-query-digest --type tidb tidb-slow.log

该命令会对TiDB的慢日志文件进行分析,并生成相应的报告。

另外,TiDB还提供了一些其他的慢日志分析工具,例如TiDB Dashboard和TiDB Binlog,您可以根据实际需求选择合适的工具进行分析。

1 个赞

推荐用vc-mysql-snaffer去抓包,结果用pt-query-digest分析,挺好用的

原始需求:
想收集 tcpdump 包进行只读流量回放。
https://github.com/zyguan/mysql-replay 工具会全量回放。

get,我去试试;大佬有相关链接么

vonwind/analysis-vc-mysql-sniffer (github.com)

直接用这个二进制文件即可,具体可help查看

1 个赞

是抓取mysql 执行过的SQL ,想在tidb端进行回放吗?

爪TIDB的,回放到TiDB

get & Thx

问题已解决。

学习了

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。