MySQLReport


简介:

MySQLReport

一、安装

shell > yum -y install mysqlreport perl-DBD-MySQL

二、使用

shell > mysqlreport --user xxxx --password xxxx --socket /tmp/mysql.sock --flush-status --outfile 20180208.report

MySQL 5.5.52-log         uptime 17 15:43:7      Wed Feb  7 11:25:42 2018

# MySQL 版本,运行时间 ( 分析时,MySQL 最好已经运行一段时间,否则数据不准确 )

__ Key _________________________________________________________________
Buffer used     2.44G of   3.00G  %Used:  81.30            # Buffer 曾经最大使用内存量、率
  Current       3.00G            %Usage: 100.00            # 当前使用量、率,可以看到 Key_buffer_size 设太小了
Write hit      66.70%                                    # ?
Read hit       99.90%                                    # ?

# MyISAM 存储引擎 Share (Key、Index) Buffer 相关参数。重要 !!!
# Buffer used 使用率是不会超过 95% 的,官方文档说 Share Key Buffer 会将一部分内存给内部数据结构使用,
# 所以当 Buffer used 使用率达到 95% 时,实际已经达到 100% 了。

__ Questions ___________________________________________________________
Total           1.14G   744.6/s                            # MySQL 总共响应过多少查询,响应频率(QPS)
  DMS           1.01G   659.7/s  %Total:  88.59            # Data Manipulation Statements 数据处理语句总数、QPS、占所有查询百分比。
  -Unknown    698.58M   458.0/s           61.50
  Com_        647.54M   424.5/s           57.01
  COM_QUIT    180.60M   118.4/s           15.90
Slow 2 s      344.25k     0.2/s            0.03  %DMS:   0.03  Log:  ON  # 慢查询次数,%DMS 0.03 代表慢查询在DMS语句中的百分比,不要大于 0.05
DMS             1.01G   659.7/s           88.59            # 这下面是各分类统计情况,如果开启查询缓存还会有 QC Hits 这个类别
  SELECT      774.87M   508.0/s           68.22         77.00             # 最后一个字段是子类别对分类的百分比 
  UPDATE      184.24M   120.8/s           16.22         18.31
  INSERT       40.54M    26.6/s            3.57          4.03
  REPLACE       3.91M     2.6/s            0.34          0.39
  DELETE        2.73M     1.8/s            0.24          0.27
Com_          647.54M   424.5/s           57.01
  begin       231.41M   151.7/s           20.37
  commit      231.41M   151.7/s           20.37
  set_option  175.92M   115.3/s           15.49

# 查看 MySQL 到底在做什么。重要 !!!
# 会有五个分类:DMS (Data Manipulation Statements)、QC Hits、COM_QUIT、all other Com_commands、Unknown
# 顺序是按第一个字段值排序的,如果 DMS、QC Hits 最靠前且百分比很高,说名是个很好的现象。

__ SELECT and Sort _____________________________________________________
Scan           32.45M    21.3/s %SELECT:   4.19            # SELECT 语句造成的全变扫描
Range          29.97M    19.6/s            3.87            # 范围扫描
Full join      11.69k     0.0/s            0.00            # 表连接
Range check         0       0/s            0.00
Full rng join       0       0/s            0.00
Sort scan      55.50M    36.4/s                            # 全表扫描排序
Sort range    137.91M    90.4/s                            # 范围扫描排序
Sort mrg pass       0       0/s

# 从在这里可以看出一些性能上的问题,全表扫描、表连接、排序等。
# 这些都要特定分析,例如扫描: 如果表只有几十行跟有几百万行产生的影响肯定不一样。

__ Table Locks _________________________________________________________
Waited         43.15M    28.3/s  %Total:   3.82            # 等待表锁的次数、百分比,大于 10% 则表示索引设计不良或慢查询太多
Immediate       1.09G   712.4/s                            # 不需要等待,可以立即获得锁的次数

# 表锁相关,Waited 越低越好。

__ Tables ______________________________________________________________
Open             1024 of 1024    %Cache: 100.00            # 目前表打开的数量、最大打开数、table_open_cache 使用率
Opened          4.03M     2.6/s                            # 表平均打开次数,该值越大说明 table_open_cache 太小,需要调大

# 表缓存,如果 %Cache 为 100,那么可以尝试调大 table_open_cache (table_cache) 该值

__ Connections _________________________________________________________
Max used         3001 of 3000      %Max: 100.03            # 当前连接数,最大连接数,百分比
Total         180.64M   118.4/s

# MySQL Server 数据处理是很快的,最大连接数其实不是越大越好
# 根本原因可能是慢查询、不合适的索引、DNS 解析等导致数据库处理速度下降,从而拉高最大连接数

__ Created Temp ________________________________________________________
Disk table      8.51M     5.6/s                            # 使用磁盘存放临时表的数量、百分比
Table          74.84M    49.1/s    Size: 128.0M            # 当使用磁盘存放临时表时,可以适当调高 tmp_table_size
File                7     0.0/s

# 临时表,使用临时表本来就是个不好的事情,而使用磁盘存储更差,所以 Disk table 应该足够小。
# 增加临时表内存大小、优化 SQL,减少临时表发生

__ Threads _____________________________________________________________
Running             4 of    9                            # 运行中的线程数,最大线程数
Cached              6 of    8      %Hit:  92.24            # 线程缓存数,最大线程缓存数,线程缓存命中率
Created        14.02M     9.2/s                            # 创建的线程数,每秒,越小越好,说明缓存命中
Slow                0       0/s

# 线程缓存,MySQL 启动时会创建几个线程,然后让连接复用,%Hit 越大越好,否则调整 thread_cache_size

__ Aborted _____________________________________________________________
Clients        71.49k     0.0/s
Connects        4.30M     2.8/s

# 中断

__ Bytes _______________________________________________________________
Sent          404.50G  265.2k/s
Received      207.22G  135.9k/s

# 流量

__ InnoDB Buffer Pool __________________________________________________
Usage         1021.81 of   1.00G  %Used:  99.79            # 缓冲命中率,越大越好
Read hit      100.00%
Pages
  Free            140            %Total:   0.21
  Data         60.55k                     92.40 %Drty:   0.06
  Misc           4842                      7.39
  Latched                                  0.00
Reads         164.05G  107.5k/s                            # 读
  From file   503.62k     0.3/s            0.00
  Ahead Rnd         0       0/s
  Ahead Sql                 0/s
Writes        112.11M    73.5/s                            # 写
Flushes         9.26M     6.1/s                            # 刷新
Wait Free           0       0/s                            # 等待

# InnoDB 缓冲池,如果是一个 InnoDB 存储引擎的数据库,该值越大越好

__ InnoDB Lock _________________________________________________________
Waits               0       0/s
Current             0
Time acquiring
  Total             0 ms
  Average           0 ms
  Max               0 ms

# InnoDB 锁,零更好

__ InnoDB Data, Pages, Rows ____________________________________________
Data
  Reads       535.37k     0.4/s
  Writes       16.00M    10.5/s
  fsync         8.78M     5.8/s
  Pending
    Reads           0
    Writes          0
    fsync           0

Pages
  Created     165.06k     0.1/s
  Read        922.49k     0.6/s
  Written       9.26M     6.1/s

Rows
  Deleted       2.32M     1.5/s
  Inserted      7.41M     4.9/s
  Read         70.18G   46.0k/s
  Updated       1.04M     0.7/s

 

posted @ 2018-02-09 17:54  WangXiaoQiang  阅读(539)  评论(0编辑  收藏  举报