mk(pt)-query-digestããã£ã¨æ´»ç¨ãããï¼
ãã¯ããããç¡ãã¦ã¯é害対å¿ãã§ããªãããã䏿¯ã«ãªã£ã¦ããmk-query-digestããã«ã¤ãã¦ã§ãã
mk-query-digest - Analyze query execution logs and generate a query report, filter, replay, or transform queries for MySQL, PostgreSQL, memcached, and more.
ä¾ãã°ãããªãã¨ãèµ·ããã¨ãã¯ãä½ãå·®ãç½®ãã¦ãã¾ãtcpdumpãåãã«è¡ãã¾ãã
ç¶æ³ãããã¾ã£ã¦ãã¾ã£ã¦ããã§ã¯é
ãã®ã§ãã
- Load Averageã®é«é¨°
- Too Many Connections
- lock wait timeout
tcpdump -i bond0 -s 65535 -x -n -q -tttt 'port 3306' > tcpdump.out 2> /dev/null
ããã§ç´ ç´ã«
mk-query-digest --type=tcpdump tcpdump.out > tcpdump.log
ã ãã§ã¯ä½ã¨ãå¿ä½ãªãã
ãã¡ããããã§ãã¨ã¦ãææç¾©ãªæ
å ±ãã¨ãã¦ãã¾ãããã§ããããã£ããè²ã
ãªãã·ã§ã³ãããã®ã§è©¦ãã¦ã¿ã¦ã¯ã©ãã§ãããã
- ãã¼ãã«ãã¨ã®ã¢ã¯ã»ã¹éè¨
- åç´åå²ãæ¤è¨ãã¦ããæããã¢ã¯ã»ã¹ãéä¸ãã¦ãããã¼ãã«ãå²ãåºãæãªããã«ä½¿ãã¾ã
- order-byã¨limitã¯ã好ããªå¤ã§ã©ãã
mk-query-digest --type=tcpdump --group-by=tables --order-by Query_time:cnt --limit 100 tcpdump.out > tcpdump.log.pertable
- ç¹å®ã®ã¯ã¨ãªã®ã¿éè¨
- æ£è¦è¡¨ç¾é¨åãã¤ã¸ãã°æ´æ°ã¯ã¨ãªã ãã®æ½åºãã§ãã¡ããã¾ã
mk-query-digest --type=tcpdump --filter '$event->{fingerprint} =~ m/^select/' --order-by Query_time:cnt --limit 100 tcpdump.out > tcpdump.log
- commit / ping / connect ãé¤ãã¦éè¨
- ãã¤ãºã«ãªããã®ãé¤å¤ï¼
mk-query-digest --type=tcpdump --filter '$event->{fingerprint} !~ m/^(commit|admin|set)/' --limit 100 tcpdump.out > tcpdump.log
- æ¥ç¶ã«ããã£ãæéã ããæ½åº
mk-query-digest --type tcpdump --no-report --filter '$event->{fingerprint} =~ /Connect/ && printf "%.9f %s %s@%s\n", @{$event}{qw(Query_time host user db)}'
- ç¹å®ã®ãã¼ãã«ã ãããã¼ãã«ãã¨ã«éè¨
- ããããç¨åº¦ã®ãããã¯ä»ãã¦ãæãªããã«ã
mk-query-digest --type=tcpdump --group-by=tables --order-by Query_time:cnt --limit 100 --filter 'grep /XXX/, @{$event->{tables}}' tcpdump.out > tcpdump.log.pertable
ãããã¦åããæ
å ±ãshow create tableããshow indexãexplainã¨çµã¿åããã¦ãæ¥ã
ã¯ã¨ãªã®ãã¥ã¼ãã³ã°ãè¡ã£ãããã¦ãã¾ãã
qpsãã¨ãã§ããªãé«ãDBã§tcpdumpãã«ã¸ã¥ã¢ã«ã«æã£ã¦æ¾ã£ã¦ããã¨too many connectionsãããããããããªãã¦ãã¨ãããã®ã§ç®ãé¢ãã¦ã¯ããã¾ããã
2-3ä¸qpsã¨ãã®ãµã¼ãã§10ç§ãæã£ãããµã¤ãºã¯150MBãããè¡ã£ã¡ããã¾ãã
åããã使ãã®ã¯ãã®è¾ºã§ãããä»ã«ãããããã®ä½¿ãæ¹ãããã¨æãã¾ãã
ã¿ãªããã®åèã«ãªãã°å¹¸ãã§ãã