mysql report参数_mysqlreport 使用说明

  • Post author:
  • Post category:mysql


【本文参考自

http://hackmysql.com/mysqlreportguide】

在 mysql 中,我们可以使用 以下命令来获取当前数据库的实时状态,

show status;

show innodb status; 假如你需要跟友好的体验,那么建议使用 mysqlreport,它是一个第三方的 mysql 状态报告工具。

以下是 mysqlreport 完整的报告:

MySQL 5.0.3 uptime 0 0:34:26 Fri Sep 1 19:46:02 2006

__ Key _________________________________________________________________

Buffer used 380.00k of 512.00M %Used: 0.07

Current 59.32M %Usage: 11.59

Write hit 97.04%

Read hit 99.58%

__ Questions ___________________________________________________________

Total 98.06k 47.46/s

DMS 81.23k 39.32/s %Total: 82.84

QC Hits 16.58k 8.02/s 16.91

COM_QUIT 200 0.10/s 0.20

Com_ 131 0.06/s 0.13

-Unknown 82 0.04/s 0.08

Slow 5 s 0 0.00/s 0.00 %DMS: 0.00 Log: ON

DMS 81.23k 39.32/s 82.84

SELECT 64.44k 31.19/s 65.72 79.33

INSERT 16.75k 8.11/s 17.08 20.61

UPDATE 41 0.02/s 0.04 0.05

REPLACE 0 0.00/s 0.00 0.00

DELETE 0 0.00/s 0.00 0.00

Com_ 131 0.06/s 0.13

change_db 119 0.06/s 0.12

show_fields 9 0.00/s 0.01

show_status 2 0.00/s 0.00

__ SELECT and Sort _____________________________________________________

Scan 38 0.02/s %SELECT: 0.06

Range 14 0.01/s 0.02

Full join 3 0.00/s 0.00

Range check 0 0.00/s 0.00

Full rng join 0 0.00/s 0.00

Sort scan 14 0.01/s

Sort range 26 0.01/s

Sort mrg pass 0 0.00/s

__ Query Cache _________________________________________________________

Memory usage 17.81M of 32.00M %Used: 55.66

Block Fragmnt 13.05%

Hits 16.58k 8.02/s

Inserts 48.50k 23.48/s

Prunes 33.46k 16.20/s

Insrt:Prune 1.45:1 7.28/s

Hit:Insert 0.34:1

__ Table Locks _________________________________________________________

Waited 1.01k 0.49/s %Total: 1.24

Immediate 80.04k 38.74/s

__ Tables ______________________________________________________________

Open 107 of 1024 %Cache: 10.45

Opened 118 0.06/s

__ Connections _________________________________________________________

Max used 77 of 600 %Max: 12.83

Total 202 0.10/s

__ Created Temp ________________________________________________________

Disk table 10 0.00/s

Table 26 0.01/s Size: 4.00M

File 3 0.00/s

__ Threads _____________________________________________________________

Running 55 of 77

Cache 0 %Hit: 0.5

Created 201 0.10/s

Slow 0 0.00/s

__ Aborted _____________________________________________________________

Clients 0 0.00/s

Connects 8 0.00/s

__ Bytes _______________________________________________________________

Sent 38.46M 18.62k/s

Received 7.98M 3.86k/s

__ InnoDB Buffer Pool __________________________________________________

Usage 3.95M of 7.00M %Used: 56.47

Read hit 99.99%

Pages

Free 195 %Total: 43.53

Data 249 55.58 %Drty: 0.00

Misc 4 0.89

Latched 0 0.00

Reads 574.56k 0.6/s

From file 176 0.0/s 0.03

Ahead Rnd 4 0.0/s

Ahead Sql 2 0.0/s

Writes 160.82k 0.2/s

Flushes 1.04k 0.0/s

Wait Free 0 0/s

__ InnoDB Lock _________________________________________________________

Waits 0 0/s

Current 0

Time acquiring

Total 0 ms

Average 0 ms

Max 0 ms

__ InnoDB Data, Pages, Rows ____________________________________________

Data

Reads 225 0.0/s

Writes 799 0.0/s

fsync 541 0.0/s

Pending

Reads 0

Writes 0

fsync 0

Pages

Created 23 0.0/s

Read 226 0.0/s

Written 1.04k 0.0/s

Rows

Deleted 25.04k 0.0/s

Inserted 25.04k 0.0/s

Read 81.91k 0.1/s

Updated 0 0/s

解读报告

第1行 报告头 包括数据库版本、数据库服务器运行时间、当前日期和时间。数据库服务器运行时间非常关键,假如该时间很短,那么使用 mydqlreport 得出的报告可能会误导你,所以建议在使用该工具时,uptime 应该是在24小时以上(本例中只有34分钟,故不准)。

第3-7行 索引报告

数据库的索引放在前面展示,说明索引的重要性。而且,这部分只能说明数据库(使用MyISAM,不包括InnoDB等其他存储引擎)Shared Key Buffer 的使用情况,并不能说明你的数据库索引的合理性。

(1)Buffer  used:key buffer 的使用情况,本例中的意思是目前 key_buffer_size 是512m,目前使用了380k,使用率是0.07%。其中,512m是指该项数据的峰值,不代表数据库服务器启动时就需要消耗这么多的系统物理内存,正常情况下,mysql会自动根据需要分配系统的内存,只要不要超过峰值即可。假如,其使用率达到80-90%,那就说明 key_buffer_size 应该增大了,但是其使用率不会超过95%,因为达到95%意味着其实已经使用了100%。

(2)Current:该项只支持mysql4.1.2 以上版本。根据系统变量 Key_blocks_unused 确定 mysql 目前使用的 key buffer,理论上该值应该<=key_buffer_size。根据该项和Buffer used 即可确定 key_buffer_size 是否合理。(3)Write hit:该值=索引写入硬盘次数/索引写入内存次数 * 100%,一般<100%。若该数据库主要是进行 insert 和 update ,该值接近于 0 也是可以接受的;若是 select 操作为主,达到90%甚至以上也是正常的;当然>100%的情况也是存在的。(4)Read hit:比Write hit 更有意义,该值=索引从硬盘读取次数/索引从内存内存次数 * 100%,该值不应该低于99%,假如低于99%(数据库服务器刚启动几个小时除外),说明出问题了(key_buffer_size太小)。

第9-26行

该部分会从数据库的整体运行状况来告诉你数据库在忙什么,做的怎么样。

(1)Total

【待续】



版权声明:本文为weixin_34634231原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。