适用pt工具分析tcpdump包

使用场景
当应用与数据库链路出现问题时,导致应用端反映数据库响应慢时,可以使用tcpdump同时在数据库与客户端进行抓包。对两个包进行对比确认是否数据库慢还是链路出现问题。
 
抓包命令
#数据库端进行抓包
tcpdump -s 65535 -x -nn -q -tttt -i eth0 port 3306 > mysql.txt
#客户端进行抓包
tcpdump -s 65535 -x -nn -q -tttt -i eth0 port 3306 > client.txt
 
注意:使用>重定向生成信息后,使用wireshark无法解析,需要使用-w参数,pt工具要求使用>重定向否则无法解析。
 
使用pt-query-digest对包进行分析
#如果数据库使用的是默认3306端口时
pt-query-digest --type=tcpdump mysql.txt
#如果数据库使用的是非默认端口时,数据库端与客户端解析命令一致
pt-query-digest --type=tcpdump --watch-server="10.186.63.54:3307" mysql.txt
 
结果查看
此为抓包的汇总信息
各个语句的执行情况
 
总结
使用tcpdump抓包,配合使用pt-query-digest进行分析,能够快速的分析出是数据库慢,还是其它链路慢。
posted @ 2022-07-01 15:52  屠魔的少年  阅读(18)  评论(0)    收藏  举报