mysql设置report_host语法_mysqlreport使用详解
进行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使用详解相关推荐
- AHK Msg相关语法、参数详解,设置Msg弹窗自动关闭
AHK Msg相关语法.参数详解 Msg语法 Options(选项) Title(标题) Text(文本) Timeout(超时) 举例:AHK设置Msg弹窗n秒后自动关闭 更多Msg相关语法 Msg ...
- mysql语句性能开销检测profiling详解
转载自 mysql语句性能开销检测profiling详解 之前我介绍过msyql查询优化explain检查命令的使用,explain主要是检查sql语句的基本性能,sql是否优秀,但不能查看具体的涉及 ...
- mysql启动参数(/etc/my.cnf)详解汇总
mysql启动参数(/etc/my.cnf)详解汇总 MYSQL–my.cnf配置中文详解 basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = ...
- mysql dba系统学习-数据库事务详解
mysql dba系统学习-数据库事务详解 上个星期去面试数据库管理员的工作,笔试通过之后就是直接的面试,他问了我一个问题,叫我介绍哈数据库的事务的看法和理解,但是不知所错的没有章法的乱答一气,唉唉, ...
- mysql切换用户sql语句,MySQL用户管理及SQL语句详解
[(none)]>select user,host frommysql.user; #查询用户和主机+---------------+-----------+ | user | host | + ...
- MySQL的用户密码过期功能详解
MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...
- mysql数据库表分区_MySQL数据库之MySQL的分区和分表详解
本文主要向大家介绍了MySQL数据库之MySQL的分区和分表详解 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1. 分区 MySQL中的分区是指将一个数据表按照某种规则(如时 ...
- mysql完全备份 二进制日志,MySQL二进制日志备份和恢复详解
原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...
- MySQL建表(create table)命令详解
MySQL建表(create table)命令详解 create table命令 强调:使用建表命令之前必须使用use命令选择表所在的数据库.create table命令的格式如下: create t ...
- android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】
本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...
最新文章
- 【转】ubuntu UltraEdit 反复试用的办法
- Java HashMap遍历的两种方式
- SpringMVC-文件上传
- “理想智造”品牌首次面世 新造车势力车和家正式上场
- [Win 7]Windows7 RC 简体中文版测试正式开始了哦!!
- 解决Failed to connect session for conifg 故障
- SpringBoot 扫描包
- leetcode题解118-杨辉三角
- 工信部:短信可为 16 亿用户提供行程证明;OPPO 回应造芯计划;Windows Terminal 0.9 发布| 极客头条...
- eclipse 集成svn客户端_TortoiseSVN及Eclipse的svn插件安装使用
- Android之Adapter总结
- Idea 插件:快速JSON转对象
- python数据分析挖掘与可视化课件_python数据分析与可视化
- 以《西游记》为例 详解游戏设计归纳演绎法
- LCD12864液晶显示
- stm8f003读24C64程序
- python 命名空间和作用域
- [prometheus]Step7-prometheus使用阿里云企业邮箱告警
- Trino-378安装部署
- Python Spider: 爬取项目外包网站TaskCity
热门文章
- mysql 雷同数值连续出现次数_MySql中关于某列中相同数值连续出现次数的统计
- php gif裁剪,PHP 使用Imagick模块 缩放,裁剪,压缩图片 包括gif图片
- AJAX TabContainer 样式设置
- python enumerate() 函数的使用方法
- Todoist Chrome:待办事项列表及任务管理
- 异步下载图片+图片缓存
- DevExpress Dashboard for .NET简化商业智能开发
- IFormatProvider,ICustomFormatter,IFormattable总结
- 整理Oracle日期时间函数
- wordpress限制最大上传文件为3M