首页 > 数据库 > 如何使用mysqlreport(中)

如何使用mysqlreport(中)

2009年12月7日 2,273 views 发表评论 阅读评论

解析一个mysqlreport输出. 由于输出较多,选择部分解释.

1 MySQL 5.0.3              uptime 0 0:34:26       Fri Sep  1 19:46:02 2006 #版本信息,uptime过短,则取样信息太少,结果可能不准确.超过几天,各种mysql操作都运行过为佳.
   2
   3 __ Key _______________________________________________________________$MYISMA表的默认共享键缓冲.当前不支持其他的键缓冲(管理员创建的hot key buffer,cold key buffer等)
   4 Buffer used   380.00k of 512.00M  %Used:   0.07        #mysql是按需分配system memory的,所以如果较少,正常.  80%以上,可能就增加key buffer.
   5   Current      59.32M            %Usage:  11.59        #key buffer利用率.4.1.2以上版本才有;4,5行一起结合看,有冲突,应该是第4行适用早期版本:我们以第5行为准.公式:100 – ( (Key_blocks_unused * key_cache_block_size) * 100 /  )
   6 Write hit      97.04%                 #100 – (Key_writes / Key_write_requests) * 100 .没什么标准;. 一般这个值为0.01左右. 如果是负值,就有问题了. 参考DMS sub-report http://hackmysql.com/mysqlreportguide#questions_report:dms
   7 Read hit       99.58%                 #100 – ( (Key_reads * 100) / Key_read_requests   一般这个值为99%以上,否则可能有性能问题,key buffer可能过小;mysql刚起来没有热身的时候,也可能低于99%.
   8
   9 __ Questions ___________________________________________________________
  10 Total          98.06k   47.46/s           # Questions are every and any kind of request made to the MySQL server.This includes SQL queries but also MySQL-specific commands and protocol communications. Queries are only SQL queries: SELECT, UPDATE, etc.
                                                 # all questions can largely be divided into five categories:
  11   DMS          81.23k   39.32/s  %Total:  82.84  Data Manipulation Statements (DMS)  #good,80%以上. 更详细见DMS sub-report节17-22 
  12   QC Hits      16.58k    8.02/s           16.91  # query cache hits (QC Hits) ..参考Query Cache Report 节38-45,才能得出结论(实际上qc的效率很差)……QC Hits is the number of queries that MySQL has executed by retrieving the result set from the query cache instead of actually executing the query
  13   COM_QUIT        200    0.10/s            0.20  # COM_QUIT  可忽略
  14   Com_            131    0.06/s            0.13 # all other Com_ commands .应尽可能低. represents all the various commands that MySQL handles, usually protocol related. … when it is high it is like MySQL is spinning its wheels really fast but going nowhere. 参考Com_ sub-report (lines 23 through 26 usually)
  15   -Unknown         82    0.04/s            0.08  # and Unknown  极低为佳
  以上五行无固定次序,按照总计排序,一般dms,cc_hits应该占主要,这才是真正执行的工作
  16 Slow 5 s            0    0.00/s            0.00  %DMS:   0.00  Log:  ON  #slow_launch_time=2;或者long_query_time变量指定了超时值;
app: Slow 2 s 4.15k 0.0/s 0.00(占questions的百分比) %DMS: 0.00(对比dms的百分比)  以上0为佳.  Log: ON  打开了慢查询日志了.
  17 DMS            81.23k   39.32/s          82.84
  18   SELECT       64.44k   31.19/s           65.72         79.33(对比DMS)
  19   INSERT       16.75k    8.11/s           17.08         20.61
  20   UPDATE           41    0.02/s            0.04          0.05
  21   REPLACE           0    0.00/s            0.00          0.00
  22   DELETE            0    0.00/s            0.00          0.00
  23 Com_              131    0.06/s            0.13     没什么标准,具体看都是些什命令,例如,如果很多roll back,那就不妙了.这个值不能高了.因为不是 响应sql查询的.
  24   change_db       119    0.06/s            0.12
  25   show_fields       9    0.00/s            0.01
  26   show_status       2    0.00/s            0.00
  27
  28 __ SELECT and Sort _____________________________________________________红色标识的以下两条要注意,要尽可能小,当然不是绝对的了.
  29 Scan               38    0.02/s %SELECT:   0.06     #full table scan
 
30 Range              14    0.01/s            0.02      #table join ,要先full table scan;
 
31 Full join           3    0.00/s            0.00
  32 Range check         0    0.00/s            0.00
  33 Full rng join       0    0.00/s            0.00
  34 Sort scan          14    0.01/s
  35 Sort range         26    0.01/s
  36 Sort mrg pass       0    0.00/s
  37
  38 __ Query Cache _________________________________________________________
  39 Memory usage   17.81M of  32.00M  %Used:  55.66
  40 Block Fragmnt  13.05%  #默认分配query_cache_min_res_unit=4k,如果有大量的小结果集.可能造成memory fragmentation,如果过高,Fragmentation can force the query cache to prune (delete) queries from the cache due to lack of memory. 那么你就需要降低query_cache_min_res_unit了.
Qcache_free_blocks/Qcache_total_blocks =

 » 转载保留版权:老陈 » 《如何使用mysqlreport(中)》
 » 如果喜欢可以: 点此订阅本站
分类: 数据库 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.