简介:

MySQLReport

一、安装

shell > yum -y install mysqlreport perl-DBD-MySQL

二、使用

shell > mysqlreport --user xxxx --password xxxx --socket /tmp/mysql.sock --flush-status --outfile .report

MySQL 5.5.-log         uptime  ::      Wed Feb   :: 

# MySQL 版本,运行时间 ( 分析时,MySQL 最好已经运行一段时间,否则数据不准确 )

__ Key _________________________________________________________________
Buffer used .44G of .00G %Used: 81.30 # Buffer 曾经最大使用内存量、率
Current .00G %Usage: 100.00 # 当前使用量、率,可以看到 Key_buffer_size 设太小了
Write hit 66.70% # ?
Read hit 99.90% # ? # MyISAM 存储引擎 Share (Key、Index) Buffer 相关参数。重要 !!!
# Buffer used 使用率是不会超过 % 的,官方文档说 Share Key Buffer 会将一部分内存给内部数据结构使用,
# 所以当 Buffer used 使用率达到 % 时,实际已经达到 % 了。 __ Questions ___________________________________________________________
Total .14G 744.6/s # MySQL 总共响应过多少查询,响应频率(QPS)
DMS .01G 659.7/s %Total: 88.59 # Data Manipulation Statements 数据处理语句总数、QPS、占所有查询百分比。
-Unknown 698.58M 458.0/s 61.50
Com_ 647.54M 424.5/s 57.01
COM_QUIT 180.60M 118.4/s 15.90
Slow s .25k 0.2/s 0.03 %DMS: 0.03 Log: ON # 慢查询次数,%DMS 0.03 代表慢查询在DMS语句中的百分比,不要大于 0.05
DMS .01G 659.7/s 88.59 # 这下面是各分类统计情况,如果开启查询缓存还会有 QC Hits 这个类别
SELECT 774.87M 508.0/s 68.22 77.00 # 最后一个字段是子类别对分类的百分比
UPDATE 184.24M 120.8/s 16.22 18.31
INSERT 40.54M 26.6/s 3.57 4.03
REPLACE 3.91M 2.6/s 0.34 0.39
DELETE 2.73M 1.8/s 0.24 0.27
Com_ 647.54M 424.5/s 57.01
begin 231.41M 151.7/s 20.37
commit 231.41M 151.7/s 20.37
set_option 175.92M 115.3/s 15.49 # 查看 MySQL 到底在做什么。重要 !!!
# 会有五个分类:DMS (Data Manipulation Statements)、QC Hits、COM_QUIT、all other Com_commands、Unknown
# 顺序是按第一个字段值排序的,如果 DMS、QC Hits 最靠前且百分比很高,说名是个很好的现象。 __ SELECT and Sort _____________________________________________________
Scan 32.45M 21.3/s %SELECT: 4.19 # SELECT 语句造成的全变扫描
Range 29.97M 19.6/s 3.87 # 范围扫描
Full join .69k 0.0/s 0.00 # 表连接
Range check /s 0.00
Full rng join /s 0.00
Sort scan 55.50M 36.4/s # 全表扫描排序
Sort range 137.91M 90.4/s # 范围扫描排序
Sort mrg pass /s # 从在这里可以看出一些性能上的问题,全表扫描、表连接、排序等。
# 这些都要特定分析,例如扫描: 如果表只有几十行跟有几百万行产生的影响肯定不一样。 __ Table Locks _________________________________________________________
Waited 43.15M 28.3/s %Total: 3.82 # 等待表锁的次数、百分比,大于 % 则表示索引设计不良或慢查询太多
Immediate .09G 712.4/s # 不需要等待,可以立即获得锁的次数 # 表锁相关,Waited 越低越好。 __ Tables ______________________________________________________________
Open of %Cache: 100.00 # 目前表打开的数量、最大打开数、table_open_cache 使用率
Opened 4.03M 2.6/s # 表平均打开次数,该值越大说明 table_open_cache 太小,需要调大 # 表缓存,如果 %Cache 为 ,那么可以尝试调大 table_open_cache (table_cache) 该值 __ Connections _________________________________________________________
Max used of %Max: 100.03 # 当前连接数,最大连接数,百分比
Total 180.64M 118.4/s # MySQL Server 数据处理是很快的,最大连接数其实不是越大越好
# 根本原因可能是慢查询、不合适的索引、DNS 解析等导致数据库处理速度下降,从而拉高最大连接数 __ Created Temp ________________________________________________________
Disk table 8.51M 5.6/s # 使用磁盘存放临时表的数量、百分比
Table 74.84M 49.1/s Size: 128.0M # 当使用磁盘存放临时表时,可以适当调高 tmp_table_size
File 0.0/s # 临时表,使用临时表本来就是个不好的事情,而使用磁盘存储更差,所以 Disk table 应该足够小。
# 增加临时表内存大小、优化 SQL,减少临时表发生 __ Threads _____________________________________________________________
Running of # 运行中的线程数,最大线程数
Cached of %Hit: 92.24 # 线程缓存数,最大线程缓存数,线程缓存命中率
Created 14.02M 9.2/s # 创建的线程数,每秒,越小越好,说明缓存命中
Slow /s # 线程缓存,MySQL 启动时会创建几个线程,然后让连接复用,%Hit 越大越好,否则调整 thread_cache_size __ Aborted _____________________________________________________________
Clients .49k 0.0/s
Connects 4.30M 2.8/s # 中断 __ Bytes _______________________________________________________________
Sent .50G .2k/s
Received .22G .9k/s # 流量 __ InnoDB Buffer Pool __________________________________________________
Usage 1021.81 of .00G %Used: 99.79 # 缓冲命中率,越大越好
Read hit 100.00%
Pages
Free %Total: 0.21
Data .55k 92.40 %Drty: 0.06
Misc 7.39
Latched 0.00
Reads .05G .5k/s # 读
From file .62k 0.3/s 0.00
Ahead Rnd /s
Ahead Sql /s
Writes 112.11M 73.5/s # 写
Flushes 9.26M 6.1/s # 刷新
Wait Free /s # 等待 # InnoDB 缓冲池,如果是一个 InnoDB 存储引擎的数据库,该值越大越好 __ InnoDB Lock _________________________________________________________
Waits /s
Current
Time acquiring
Total ms
Average ms
Max ms # InnoDB 锁,零更好 __ InnoDB Data, Pages, Rows ____________________________________________
Data
Reads .37k 0.4/s
Writes 16.00M 10.5/s
fsync 8.78M 5.8/s
Pending
Reads
Writes
fsync Pages
Created .06k 0.1/s
Read .49k 0.6/s
Written 9.26M 6.1/s Rows
Deleted 2.32M 1.5/s
Inserted 7.41M 4.9/s
Read .18G .0k/s
Updated 1.04M 0.7/s

MySQLReport的更多相关文章

  1. MySQL效能监控工具mysqlreport安装和中文说明

    管理 mysql 最让人困扰的就是如何有效的掌握 MySQL 的健康状况,因为 MySQL 虽然有提供许多系统变量值供您参考,但这些零散的数据若要手动搜集与过滤将会是一件十分没有效率的事情(除非您写 ...

  2. The Guide To Understanding mysqlreport

    The Guide To Understanding mysqlreport This guide to understanding mysqlreport explains everything t ...

  3. MySQL的性能调优工具:比mysqlreport更方便的tuning-primer.sh

    年初的时候收藏过一篇关于mysqlreport的报表解读,和内置的show status,和show variables相比mysqlreport输出一个可读性更好的报表:但Sundry MySQL提 ...

  4. mysqlreport工具

    进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在:而SHOW STATUS输出的报告正是用来计算性能瓶颈的参考数据.mysqlreport不像SHOW STATUS那样简单的罗列数据,而 ...

  5. windows下配置mysql数据库监视工具Mysqlreport

    该工具除了可以监控本机Mysql数据库外,也可以监控远程服务器mysql数据库 需要的工具: 1:perl脚本解析工具安装: http://www.activestate.com/activeperl ...

  6. centos下mysqlreport安装和使用

    首先查看你的机器是否安装了perl: #perl -v 显示版本号即表示已安装 然后: #yum install perl-DBD-mysql perl-DBI #yum install mysqlr ...

  7. mysqlreport 安装&使用

    安装包:mysqlreport-3.5.tgz 下载地址:http://hackmysql.com/scripts/mysqlreport-3.5.tgz 安装办法:[root@nagios ~]# ...

  8. 25、mysqlreport(my.cnf)调优工具

    25.1.mysqlreport介绍: mysqlreport以很友好的方式显示 MySQL状态变.事实上,它几乎报告了所有的状态.不像 SHOW STATUS 只是在显示 了100多个状态值,mys ...

  9. MySQL性能分析及explain的使用

    MySQL性能分析及explain用法的知识 1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id  selectty ...

随机推荐

  1. Linux下远程备份、上传工程,重启服务器

    Linux下远程备份.上传工程,重启服务器 Linux服务器实现远程,原项目的备份.删除,新项目上传,以及远程重启服务器!分成一个主shell调用三个shell文件步骤完成.mainsh.sh一次按顺 ...

  2. java 多线程之:sleep() 方法

    sleep()介绍 sleep() 定义在java.lang.Thread中. sleep() 的作用是让当前线程休眠,即当前线程会从"运行状态"进入到"休眠(阻塞)状态 ...

  3. yum运行时提示被锁住了解决办法

    1.当大家用linux的yum时,是不是经常会遇到下面的情况Loaded plugins: fastestmirrorExisting lock /var/run/yum.pid: another c ...

  4. Jenkins进阶-远程构建任务(4)

    开发过程中提交代码以后,如何不登录Jenkins就自动触发jenkins 任务来发布软件版本. 1.首先我们创建一个Jenkins任务. 2.选择"构建触发器"->勾选&qu ...

  5. C# 文本框只能输入数字和退格键 (转)

    C# 文本框只能输入数字和退格键 private void TextBox_KeyPress(object sender, KeyPressEventArgs e)    {     if(e.Key ...

  6. POJ1179 Polygon

    题目:http://poj.org/problem?id=1179 石子合并的升级版.有负值.但运算符只有 + 和 * . 考虑负值对原做法正确性的影响:之所以仅记录最大值可能不对,是因为有可能负数 ...

  7. Microsoft Dynamics CRM 2011 面向Internet部署 (IFD) CRM 登录出现会话超时的解决办法

    一.IFD 登录的时候,过了一段时间,会马上出现“您的会话已过期”,怎么解决这个问题呢,可以通过改变这个时间.具体图如二 Link to Dynamics CRM Wiki Home Page 二.S ...

  8. Maven 生成项目站点

    Maven 不仅仅时一个自动化构建工具和一个依赖管理工具,他还能够帮助聚合项目信息,促进团队间的交流,POM 可以包含各种项目信息,如项目描述.版本控制系统地址.缺陷跟踪系统地址.许可证信息.开发者信 ...

  9. JavaScript之图片操作2

    在前一次,我们实现最简单的图片切换效果,这一次,依旧还是图片切换,具体效果如下: 通过点击下面的小图,上面的大图和标题随之切换.因此,我们需要三个容器分别放标题,大图和小图. <!--大图描述- ...

  10. Java-Web中访问某个指定工程中的文件,报错后发现访问的文件是另一个工程里面的文件

    问题: 浏览器向我的bingou项目中的UserDaoImpl.java发送请求, myeclipse报错:空指针异常 点击报错行之后,错误给定位到了另一个项目中的的一个文件 解决: 原因是文件名错误 ...