进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOW STATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOW STATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后就可以根据这个优化参考点的值以及该点的衡量标准,进行对应调整。

一、安装:

需要注意的是,mysqlreport是基于perl语言开发,其运行依赖于perl-DBI和perl-DBD-MySQL,所以需要先安装这两个软件。

二、使用:

mysqlreport常用指令:

--user    # 指定连接数据库的用户

--password     #指定连接数据库的密码

--port     #指定端口

--host     #指定主机

--sokcet     #指定socket文件

--flush-status       #显示完报告后,执行"FLUSH STATUS"语句

--outfile        #将报告输出至某个文件中

三、输出的报告详细说明

1、基本信息

说明mysql当前的版本,运行的时间,以及当前系统时间MySQL 5.1.61-log uptime 262 23:51:59 Wed Jul 16 17:58:05 2014

2、索引报表

说明mysql当前索引缓冲区的使用率,如果过高,则需要调整key_buffer_size的大小了。write hit及read hit分别说明了写索引和读索引的效率__ Key _________________________________________________________________

Buffer used 8.67M of 512.00M %Used: 1.69

Current 51.75M %Usage: 10.11

Write hit 34.33%

Read hit 99.17%

3、请求报表

1)第一部分mysql处理的总请求数、平均每秒处理的请求数及请求类型。

QC Hists:是指mysql直接从查询缓存中请求结果的数量,也就是查询缓存的命中率,此值越高越好

DMS:是指数据操作语言,也就是增删改查

Com_:是指mysql处理自身运行所使用的开销

2)第二部分是说明mysql的慢查询数,多长时间的查询被认为是慢查询,是由long_query_time定义的。处理慢查询的比例越低越好,一般不要超过0.05%。慢查询日志建议开启。

3)第三部分详细说明了DMS中各种语句的处理数及比例

4)第四部分则详细说明了Com_中各事件的处理数及比例__ Questions ___________________________________________________________

Total 4.12G 181.3/s

QC Hits 2.93G 129.0/s %Total: 71.14

DMS 714.48M 31.4/s 17.34

Com_ 563.75M 24.8/s 13.68

-Unknown 186.61M 8.2/s 4.53

COM_QUIT 97.48M 4.3/s 2.37Slow 3 s 49.32k 0.0/s 0.00 %DMS: 0.01 Log: ONDMS 714.48M 31.4/s 17.34

SELECT 536.16M 23.6/s 13.01 75.04

DELETE 66.80M 2.9/s 1.62 9.35

UPDATE 61.78M 2.7/s 1.50 8.65

INSERT 49.34M 2.2/s 1.20 6.91

REPLACE 401.78k 0.0/s 0.01 0.06Com_ 563.75M 24.8/s 13.68

show_fields 214.45M 9.4/s 5.20

set_option 194.83M 8.6/s 4.73

change_db 144.83M 6.4/s 3.51

5、查询与排序

详细说明mysql在查询时的资源消耗

scan展示的是对全表进行扫描的select语句个数

full join则是多表联合查询的次数__ SELECT and Sort _____________________________________________________

Scan 284.42M 12.5/s %SELECT: 53.05

Range 53.32M 2.3/s 9.95

Full join 3.40M 0.1/s 0.63

Range check 0 0/s 0.00

Full rng join 2.09k 0.0/s 0.00

Sort scan 242.41M 10.7/s

Sort range 5.78M 0.3/s

Sort mrg pass 0 0/s

6、查询缓存(只有在开启了查询缓存之后才会出现)

详细说明了查询缓存的内存使用率

Block Fragmnt:是指内存块碎片,如果你有一个返回超小结果的海量查询,默认的块大小(即4KB)可能会导致大量的内存碎片,这个时候,需要降低"query_cache_min_res_unit"的值,比值越大,碎片越多,一般不建议超过10%

Hits/Inserts/Prunes:其中Hits是最重要的,它反应了有多少查询是从查询缓存中直接获得的,Prunes是指每秒删除的碎片时,该值越低越好

insert/prune:是一个波动性的QC指标。一个稳定运行中的QC,insert进QC的查询数量应该大于prune掉的查询数量。而一个不稳定的QC,比值或许是1:1,甚至偏向prune。这说明两个问题:1、QC大小不够;2、mysql试图缓存一切

hit/insert:用来反映QC的有效性。理想情况是:mysql插入一批稳定的查询到QC里,然后源源不断的命中这批结果……所以,如果QC的有效性足够,这个比值应该是偏向hit的。__ Query Cache _________________________________________________________

Memory usage 68.37M of 128.00M %Used: 53.42

Block Fragmnt 18.92%

Hits 2.93G 129.0/s

Inserts 353.54M 15.6/s

Insrt:Prune 4.17:1 11.8/s

Hit:Insert 8.29:1

7、表锁

一行是总数,一行是当前数。锁等待对于数据库来说永远是糟糕的事情。第三列的总比值反应了一个综述的情况,无论如何不能高过10%,否则肯定就带来一大堆的索引和慢查询问题!__ Table Locks _________________________________________________________

Waited 949 0.0/s %Total: 0.00

Immediate 2.01G 88.4/s

8、表

一行是当前mysql打开的表个数,以及表缓存的使用率,另一行是指mysql运行以来的平均值。这里有两个值比较重要,一个是表的缓存使用率真,如果达到100%,则需要调整"table_open_cahce"的大小;另一个是当前打开表的频率,一般这个值应该小于每秒1次。不过一个负载比较高而又运行的还不错的mysql,可能能达到每秒打开7次表,依然保持100%的表缓存__ Tables ______________________________________________________________

Open 128 of 128 %Cache: 100.00

Opened 39.85M 1.8/s

9、数据库连接数

如果最大连接数接近100%,则需要调整"max_connetions"参数,当然如果连接数过大,有可能是慢查询、糟糕的索引、dns解析太慢所导致的问题;每秒连接数,一般小于5个每秒,但通常只要mysql运行正常,就无所谓__ Connections _________________________________________________________

Max used 547 of 886 %Max: 61.74

Total 97.48M 4.3/s

7、临时表

mysql可以在内存、磁盘及临时文件上创建临时表,要尽可能避免在磁盘上创建临时表,因为速度最慢,要尽可能在内存中创建,第三行的Table就妈表示在内存中创建临时表的大小,Size是指定的内存允许创建的临时表的大小,可以通过"tmp_table_size"参数来调整其大小__ Created Temp ________________________________________________________

Disk table 186.19M 8.2/s

Table 434.05M 19.1/s Size: 64.0M

File 5 0.0/s

8、线程

当mysql的连接数超过了线程缓存数时,需要增大"thread_cache_size"参数的大小__ Threads _____________________________________________________________

Running 1 of 1

Cached 7 of 8 %Hit: 99.48

Created 509.01k 0.0/s

Slow 0 0/s

9、中断及流量__ Aborted _____________________________________________________________

Clients 2.36k 0.0/s

Connects 111.05k 0.0/s

__ Bytes _______________________________________________________________

Sent 2.56T 112.8k/s

Received 892.91G 39.3k/s

10、Innodb缓冲池

innodb缓冲池的大小可以通过"innodb_buffer_size"参数来调整,作为一个innodb引擎的数据库,请尽可能调大该值__ InnoDB Buffer Pool __________________________________________________

Usage 1.00G of 1.00G %Used: 100.00

Read hit 100.00%

Pages

Free 3 %Total: 0.00

Data 62.67k 95.63 %Drty: 0.01

Misc 2861 4.37

Latched 0.00

Reads 4.27T 188.1k/s                         #innodb缓冲池读性能

From file 4.35M 0.2/s 0.00               #从文件读取

Ahead Rnd 243362 0.0/s                 #随机读

Ahead Sql 134409 0.0/s                   #顺序读,只有进行全表扫描的时候才会出现

Writes 3.17G 139.4/s                           #缓冲池写的数量

Flushes 17.36M 0.8/s                          #缓冲池的页刷新请求数

Wait Free 0 0/s                                    #空闲等待时间,越小越好

11、innodb锁__ InnoDB Lock _________________________________________________________

Waits 0 0/s          #等待某行解锁的累积次数,最好是0次

Current 0             #当前正在等待解锁的行个数,最好是0次

Time acquiring

Total 0 ms

Average 0 ms

Max 0 ms

12、innodb数据、页、行

第一部分列出了四种类型的数据操作,分别是读、写、刷新、等待

第二部分列出了innodb的页信息,缓冲池中页的创建、读取、写入的数量

第三部分则列出了一些对innodb行进行增删改查的数据量__ InnoDB Data, Pages, Rows ____________________________________________

Data

Reads 5.93M 0.3/s        #整个innodb引擎完成所有的数据读取次数,不是数据赢取的字节数

Writes 23.12M 1.0/s     #也是统计写的次数

fsync 14.65M 0.6/s        #刷新的次数

Pending                       #读、写、刷新的等待次数

Reads 0

Writes 0

fsync 0Pages

Created 2.04M 0.1/s

Read 21.45M 0.9/s

Written 17.36M 0.8/sRows

Deleted 62.97M 2.8/s

Inserted 283.26M 12.5/s

Read 4.56T 200.7k/s

Updated 34.59M 1.5/s

mysql设置report_host语法_mysqlreport使用详解相关推荐

  1. AHK Msg相关语法、参数详解,设置Msg弹窗自动关闭

    AHK Msg相关语法.参数详解 Msg语法 Options(选项) Title(标题) Text(文本) Timeout(超时) 举例:AHK设置Msg弹窗n秒后自动关闭 更多Msg相关语法 Msg ...

  2. mysql语句性能开销检测profiling详解

    转载自 mysql语句性能开销检测profiling详解 之前我介绍过msyql查询优化explain检查命令的使用,explain主要是检查sql语句的基本性能,sql是否优秀,但不能查看具体的涉及 ...

  3. mysql启动参数(/etc/my.cnf)详解汇总

    mysql启动参数(/etc/my.cnf)详解汇总 MYSQL–my.cnf配置中文详解 basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = ...

  4. mysql dba系统学习-数据库事务详解

    mysql dba系统学习-数据库事务详解 上个星期去面试数据库管理员的工作,笔试通过之后就是直接的面试,他问了我一个问题,叫我介绍哈数据库的事务的看法和理解,但是不知所错的没有章法的乱答一气,唉唉, ...

  5. mysql切换用户sql语句,MySQL用户管理及SQL语句详解

    [(none)]>select user,host frommysql.user; #查询用户和主机+---------------+-----------+ | user | host | + ...

  6. MySQL的用户密码过期功能详解

    MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...

  7. mysql数据库表分区_MySQL数据库之MySQL的分区和分表详解

    本文主要向大家介绍了MySQL数据库之MySQL的分区和分表详解 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1. 分区 MySQL中的分区是指将一个数据表按照某种规则(如时 ...

  8. mysql完全备份 二进制日志,MySQL二进制日志备份和恢复详解

    原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...

  9. MySQL建表(create table)命令详解

    MySQL建表(create table)命令详解 create table命令 强调:使用建表命令之前必须使用use命令选择表所在的数据库.create table命令的格式如下: create t ...

  10. android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...

最新文章

  1. 【转】ubuntu UltraEdit 反复试用的办法
  2. Java HashMap遍历的两种方式
  3. SpringMVC-文件上传
  4. “理想智造”品牌首次面世 新造车势力车和家正式上场
  5. [Win 7]Windows7 RC 简体中文版测试正式开始了哦!!
  6. 解决Failed to connect session for conifg 故障
  7. SpringBoot 扫描包
  8. leetcode题解118-杨辉三角
  9. 工信部:短信可为 16 亿用户提供行程证明;OPPO 回应造芯计划;Windows Terminal 0.9 发布| 极客头条...
  10. eclipse 集成svn客户端_TortoiseSVN及Eclipse的svn插件安装使用
  11. Android之Adapter总结
  12. Idea 插件:快速JSON转对象
  13. python数据分析挖掘与可视化课件_python数据分析与可视化
  14. 以《西游记》为例 详解游戏设计归纳演绎法
  15. LCD12864液晶显示
  16. stm8f003读24C64程序
  17. python 命名空间和作用域
  18. [prometheus]Step7-prometheus使用阿里云企业邮箱告警
  19. Trino-378安装部署
  20. Python Spider: 爬取项目外包网站TaskCity

热门文章

  1. mysql 雷同数值连续出现次数_MySql中关于某列中相同数值连续出现次数的统计
  2. php gif裁剪,PHP 使用Imagick模块 缩放,裁剪,压缩图片 包括gif图片
  3. AJAX TabContainer 样式设置
  4. python enumerate() 函数的使用方法
  5. Todoist Chrome:待办事项列表及任务管理
  6. 异步下载图片+图片缓存
  7. DevExpress Dashboard for .NET简化商业智能开发
  8. IFormatProvider,ICustomFormatter,IFormattable总结
  9. 整理Oracle日期时间函数
  10. wordpress限制最大上传文件为3M