MySQLReport分析报告四

来源:互联网 发布:人工智能上市公司一览 编辑:程序博客网 时间:2024/06/09 19:22
__ Key _________________________________________________________________Buffer used     4.00k of 256.00M  %Used:   0.00  Current      31.83M            %Usage:  12.43Write hit       0.00%Read hit       93.27%__ Questions ___________________________________________________________Total         380.30k    13.8/s  DMS         311.97k    11.3/s  %Total:  82.03  Com_         47.10k     1.7/s           12.38  QC Hits      20.90k     0.8/s            5.50  COM_QUIT      1.18k     0.0/s            0.31  -Unknown        846     0.0/s            0.22Slow 5 s           52     0.0/s            0.01  %DMS:   0.02  Log:  ONDMS           311.97k    11.3/s           82.03  SELECT      271.20k     9.8/s           71.31         86.93  INSERT       24.18k     0.9/s            6.36          7.75  UPDATE       15.17k     0.5/s            3.99          4.86  DELETE        1.42k     0.1/s            0.37          0.46  REPLACE           0       0/s            0.00          0.00Com_           47.10k     1.7/s           12.38  show_fields  35.39k     1.3/s            9.31  show_create   4.53k     0.2/s            1.19  set_option    3.42k     0.1/s            0.90__ SELECT and Sort _____________________________________________________Scan           40.62k     1.5/s %SELECT:  14.98Range             257     0.0/s            0.09Full join           0       0/s            0.00Range check         0       0/s            0.00Full rng join       0       0/s            0.00Sort scan         437     0.0/sSort range        180     0.0/sSort mrg pass     226     0.0/s__ Query Cache _________________________________________________________Memory usage    4.75M of  99.00M  %Used:   4.80Block Fragmnt   5.22%Hits           20.90k     0.8/sInserts        53.98k     2.0/sInsrt:Prune  53.98k:1     2.0/sHit:Insert     0.39:1__ Table Locks _________________________________________________________Waited             16     0.0/s  %Total:   0.02Immediate      97.30k     3.5/s__ Tables ______________________________________________________________Open              408 of  512    %Cache:  79.69Opened          3.04k     0.1/s__ Connections _________________________________________________________Max used           26 of 1024      %Max:   2.54Total           1.35k     0.0/s__ Created Temp ________________________________________________________Disk table     36.20k     1.3/sTable          39.51k     1.4/s    Size: 103.0MFile              450     0.0/s__ Threads _____________________________________________________________Running             2 of   22Cached              2 of    8      %Hit:  98.07Created            26     0.0/sSlow                0       0/s__ Aborted _____________________________________________________________Clients           341     0.0/sConnects            0       0/s__ Bytes _______________________________________________________________Sent          323.06M   11.7k/sReceived       21.79M   788.0/s__ InnoDB Buffer Pool __________________________________________________Usage           1.00G of   1.00G  %Used: 100.00Read hit       99.97%Pages  Free              0            %Total:   0.00  Data         62.84k                     95.88 %Drty:   0.00  Misc           2701                      4.12  Latched                                  0.00Reads         209.98M    7.6k/s  From file    69.59k     2.5/s            0.03  Ahead Rnd                 0/s  Ahead Sql                 0/sWrites        549.01k    19.9/sFlushes       115.31k     4.2/sWait Free           0       0/s__ InnoDB Lock _________________________________________________________Waits               0       0/sCurrent             0Time acquiring  Total             0 ms  Average           0 ms  Max               0 ms__ InnoDB Data, Pages, Rows ____________________________________________Data  Reads        82.96k     3.0/s  Writes       65.88k     2.4/s  fsync        10.34k     0.4/s  Pending    Reads           0    Writes          0    fsync           0Pages  Created       1.37k     0.0/s  Read         82.80k     3.0/s  Written      57.66k     2.1/sRows  Deleted       1.58k     0.1/s  Inserted    269.26k     9.7/s  Read        230.26M    8.3k/s  Updated      15.61k     0.6/s
第一区块, 展示了 mysql innodb 的缓存统计信息.
其中, innodb跟myisam的缓存机制有较大区别, innodb不仅缓存索引,还缓存一些表数据.而myisam只缓存索引.
__ InnoDB Buffer Pool __________________________________________________Usage           1.00G of   1.00G  %Used: 100.00Read hit       99.97%
Usage 表示, 总的缓存中, 当前已占用 1G, 使用率达 100.00%. 这种情况, 是存在瓶颈的, 需要适当增加缓存总量.
Read hit 表示缓存命中率 99.97%, 这个数值是比较理想的, 一般情况下, 都应该大于99.98%.
Pages  Free              0            %Total:   0.00  Data         62.84k                     95.88 %Drty:   0.00  Misc           2701                      4.12  Latched                                  0.00

 

innodb的存储是按页分的, 每页的容量默认是 16K. (详见http://www.mysqlperformanceblog.com/2006/06/04/innodb-page-size/)
这里的,Free指的是缓存中的总页数, 剩余的页, 占总的 0.39%.
Data是指缓存中, 存储索引数据的页的数量.其中, 最后一项 %Dtry 表示脏数据的百分比.所谓的脏数据是指, 对缓存数据更新后, 没有同步到硬盘的数据.
misc 和 latched 就是之前说的其他信息的一些缓存.
Reads         209.98M    7.6k/s  From file    69.59k     2.5/s            0.03  Ahead Rnd                 0/s  Ahead Sql                 0/s
Reads代表从缓存里, 总共读取了多少M的数据.
From file, 表示从硬盘文件中读取到缓存里的页数量.
Ahead Rnd, 表示随机预读的次数.
Ahead Sql, 表示全表扫描时, sql预读的次数.
Writes        549.01k    19.9/sFlushes       115.31k     4.2/sWait Free           0       0/s
 
Writes , 表示写入缓存的总大小.
Flushes , 表示缓存数据更新到硬盘的大小.
Waint Free, 表示, 等待可写入数据的页的次数.
这里为什么会等待, 是因为, 数据写入到缓存页时, 必须保证, 这个页被创建好, 或者这个页之前的数据已经被同步到硬盘上.
InnoDB Lock _________________________________________________________Waits               0       0/sCurrent             0Time acquiring  Total             0 ms  Average           0 ms  Max               0 ms

Waits , 表示执行线程等待锁的释放的次数.
Current, 表示当前所有的执行线程, 正在等待锁的数量.
Time acquiring 里的 Total , 指的是, 等待锁所消耗的总时间.
Average, 是指, 平均消耗的时间.
Max, 是指, 单次等待锁, 所消耗最多的时间.

__ InnoDB Data, Pages, Rows ____________________________________________Data  Reads        82.96k     3.0/s  Writes       65.88k     2.4/s  fsync        10.34k     0.4/s  Pending    Reads           0    Writes          0    fsync           0

Data里的Reads, 表示数据读取的次数.
Writes, 表示数据写入的数据量大小.
fsync, 表示缓存同步到硬盘的数据量大小.
Pending里的Reads, Writes, fsync , 表示当前进行读写, 同步的次数.

Pages  Created       1.37k     0.0/s  Read         82.80k     3.0/s  Written      57.66k     2.1/s


Pages 里的created, 表示, 总共创建过 699 个页.
Read, 表示被读取的页的数量.
Written, 表示写入到页里的,总大小.

Rows  Deleted       1.58k     0.1/s  Inserted    269.26k     9.7/s  Read        230.26M    8.3k/s  Updated      15.61k     0.6/s


Rows里的四个操作,分别代表删除, 插入, 查询, 更新的数据量大小.

 

性能关注点分析

首先是Usage, 如果占比达 90 - 95%以上, 可能需要增加预设缓存大小.
调整的参数是 innodb_buffer_pool_size

其次是 Read Hit, 即缓存命中率, 如果该值远远小于100%, 就要调查缓存的有效性了.
比如, 缓存写次数是否大于查询次数. (Buffer里的reads和writes)
 
最后,需要关注的是, 数据的读写比例. 这里有个要注意的地方是, mysql如果启动到现在不到24小时或一个较长的运行周期, 这个读写比例值可能是不准的.
 
一般的应用,我感觉读写比例在 8/2 差不多. 如果读远远大于写, 那么你可以测下 MyISAM 引擎的性能, 看看是否适合你.
 
 
以上参考了http://www.iteye.com/topic/239882帖子。翻译了自己数据库的信息。

 

 

原创粉丝点击