使用pt-query-digest进行日志分析

使用pt-query-digest

sudo apt install percona-toolkit

查看帮助

jiqing@jiqing-pad:/usr/bin$ pt-query-digest -h
Option h requires an argument
Usage: pt-query-digest [OPTIONS] [FILES] [DSN]

Errors in command-line arguments:
  * Error parsing options

pt-query-digest analyzes MySQL queries from slow, general, and binary log files.
It can also analyze queries from C<SHOW PROCESSLIST> and MySQL protocol data
from tcpdump.  By default, queries are grouped by fingerprint and reported in
descending order of query time (i.e. the slowest queries first).  If no C<FILES>
are given, the tool reads C<STDIN>.  The optional C<DSN> is used for certain
options like L<"--since"> and L<"--until">.  For more details, please use the
--help option, or try 'perldoc /usr/bin/pt-query-digest' for complete
documentation.

使用

 sudo pt-query-digest /tmp/mysql-slow.log |less
# 220ms user time, 0 system time, 36.90M rss, 110.99M vsz
# Current date: Thu May 31 01:19:54 2018
# Hostname: jiqing-pad
# Files: /tmp/mysql-slow.log
# Overall: 127 total, 39 unique, 0.09 QPS, 0.00x concurrency _____________
# Time range: 2018-05-31 00:48:17 to 01:12:31
# Attribute          total     min     max     avg     95%  stddev  median
# ============     ======= ======= ======= ======= ======= ======= =======
# Exec time          999ms    81us   334ms     8ms    38ms    33ms   247us
# Lock time           59ms       0    44ms   461us   445us     4ms    57us
# Rows sent            537       0     219    4.23    6.98   19.08    0.99
# Rows examine      52.59k       0  15.67k     424  592.07   1.97k   46.83
# Query size        16.53k      21   1.28k  133.31  346.17  131.28  130.47

# Profile
# Rank Query ID           Response time Calls R/Call V/M   Item
# ==== ================== ============= ===== ====== ===== ===============
#    1 0xDBD84EBCA96FD1B3  0.3335 33.4%     1 0.3335  0.00 SELECT information_schema.TABLES
#    2 0x4EBEE0C93679AA3A  0.1654 16.6%    15 0.0110  0.14 SELECT INFORMATION_SCHEMA.SCHEMATA
#    3 0xA1E689B034771CD3  0.0820  8.2%     6 0.0137  0.06 SELECT INFORMATION_SCHEMA.TABLES
#    4 0x31DE4C0DBC50DA30  0.0492  4.9%     1 0.0492  0.00 SELECT sakila.film_actor
#    5 0x6587F7103124EF13  0.0477  4.8%     4 0.0119  0.03 SELECT INFORMATION_SCHEMA.ROUTINES
#    6 0x1130DFE666B5F2AA  0.0434  4.3%     1 0.0434  0.00 SELECT sakila.rental
#    7 0x18B275D7FFB41810  0.0428  4.3%     1 0.0428  0.00 SELECT
#    8 0xA46100310F18DEB9  0.0396  4.0%     4 0.0099  0.02 SELECT INFORMATION_SCHEMA.SCHEMATA
#    9 0xACB921BD6A67D19F  0.0383  3.8%     1 0.0383  0.00 SELECT sakila.film_text
#   10 0xF2E9C9BDE150321B  0.0322  3.2%     1 0.0322  0.00 SET
#   11 0xE2F7D83651089289  0.0308  3.1%     1 0.0308  0.00 SELECT
#   12 0x6498E5CBE1B003AB  0.0291  2.9%     1 0.0291  0.00 SET
#   13 0x26D1F8747AD5C7A2  0.0148  1.5%     1 0.0148  0.00 SELECT sakila.payment
#   14 0xB53625A7FA91320B  0.0114  1.1%     1 0.0114  0.00 SELECT sakila.inventory
# MISC 0xMISC              0.0391  3.9%    88 0.0004   0.0 <25 ITEMS>
...

会发现有很多统计信息提供!非常方便。

如果通过日志发现问题?

查询次数多,查询时间长的sql
IO大的sql,查询数量多于输出数量的sql
未命中索引的sql

猜你喜欢

转载自www.cnblogs.com/jiqing9006/p/9114572.html