tcpdump と pt-query-digest でクエリ分析
長いこと使ってきている割にオプションとか覚えられないのでメモ程度に書いておく。
tcpdump
MySQLが動作しているマシンで実行する。-c
のところは適当に変える。
sudo tcpdump -s 65535 -x -nn -q -tttt -i eth0 -c 10000 port 3306 > dump.pcap
pt-query-digest
インストールされていなければ https://www.percona.com/software/mysql-tools/percona-toolkit を参考にダウンロード、インストールしましょう。
デフォルトの使い方。--limit
は出力件数なので適当に調整。
dump.pcapは先にやってあるtcpdumpの結果。
pt-query-digest --type=tcpdump --limit 50 dump.pcap > pt-query-digest-result.txt
index効いてないやつだけ出力
pt-query-digest --type=tcpdump --limit 200 --filter '($event->{No_index_used} eq "Yes" || $event->{No_good_index_used} eq "Yes")' dump.pcap > pt-query-digest-result.txt