InnoTop

是一个系统活动报告,类似于Linux性能工具,它与Linux的top命令相仿,并参考mytop工具而设计.

它专门用后监控InnoDB性能和MySQL服务器.主要用于监控事务,死锁,外键,查询活动,复制活动,系统变量的主要统计信息
及主机的其他详情。InnoTop被广泛使用,并被当做常用性能监控工具。

由于InnoTop使用Perl语言写成,所以需要安装perl环境和相关的工具包。

安装perl:

yum install perl* -y

必须安装Time::HiRes,Term::ReadKey,DBI,DBD::mysql这四个包

[root@forummysql01 data]# perl -MCPAN -eshell

CPAN> install Time::HiRes
 cd
CPAN> install Term::ReadKey
 
CPAN> install DBI
 
CPAN> install DBD::mysql

一.下载安装innotop-1.8

[root@forummysql01 data]# wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz

[root@forummysql01 data]# tar xvzf innotop-1.8.0.tar.gz

[root@forummysql01 data]# cd innotop-1.8.0

[root@forummysql01 data]# perl Makefile.PL

[root@forummysql01 data]# make

[root@forummysql01 data]# make install

二.使用

innotop -u <username> -p <password> -h <hostname> -P <port> -S <socket>

示例: innotop -usystem  -p'HD_root2010!' -P 3306 -S /data/mysqldata/3306/mysql.sock

以下是进入的页面状态

When   Load  QPS   Slow   Se/In/Up/De%       QCacheHit  KCacheHit  BpsIn   BpsOut 
Now    0.05  0.19  0       0/ 0/550/50           0.00%     92.31%  32.67k    1.18k
Total  0.00  0.36  1.24k  20/3838/1473/3297      0.00%     93.88%  36.83k  284.40k

Cmd    ID      State  User   Host           DB      Time   Query

其中 Load 是负载
     QPS  (Query Per Second) 表示每秒的查询率
     Slow 代表慢查询的个数
     Se/In/Up/De%: 增,删,改,查的比率
     QCacheHit:查询缓冲的命中率
     KCacheHit:索引的命中率
     BpsIn (bytes Per Second in) 每秒钟输入的字节数
     BpsOut(bytes Per Second Out)每秒钟输出的字节数

输入?可以进入帮助界面:如下:

Switch to a different mode:
   B  InnoDB Buffers    L  Locks               R  InnoDB Row Ops
   C  Command Summary   M  Replication Status  S  Variables & Status
   D  InnoDB Deadlocks  O  Open Tables         T  InnoDB Txns
   F  InnoDB FK Err     Q  Query List          U  User Statistics
   I  InnoDB I/O Info

Actions:
   a  Toggle the innotop process    k  Kill a query's connection
   c  Choose visible columns        n  Switch to the next connection
   d  Change refresh interval       p  Pause innotop
   e  Explain a thread's query      q  Quit innotop
   f  Show a thread's full query    r  Reverse sort order
   h  Toggle the header on and off  s  Change the display's sort column
   i  Toggle idle processes         x  Kill a query

Other:
 TAB  Switch to the next server group   /  Quickly filter what you see
   !  Show license and warranty         =  Toggle aggregation
   #  Select/create server groups       @  Select/create server connections
   $  Edit configuration settings       \  Clear quick-filters
Press any key to continue

各种模式的切换都是:shift+字母

B模式:InnoDB Buffers

____________________________ Buffer Pool ____________________________
Size     Free Bufs  Pages   Dirty Pages  Hit Rate  Memory  Add'l Pool
512.00k      17863  495843            0  --         8.19G           0

_____________________ Page Statistics ______________________
Reads   Writes   Created  Reads/Sec  Writes/Sec  Creates/Sec
443950  5953289    51893       0.00        0.00         0.00

______________________ Insert Buffers ______________________
Inserts  Merged Recs  Merges  Size  Free List Len  Seg. Size

_________________ Adaptive Hash Index __________________
Size  Cells Used  Node Heap Bufs  Hash/Sec  Non-Hash/Sec
                                      0.00          0.00

其中:
Buffer Pool:
Size: 某sql使用的Buffer pool的大小
Free Bufs : Innodb_buffer_pool_pages_free的值,空页数。
Pages:      Innodb_buffer_pool_pages_data的值,包含数据的页数(脏或干净).
Dirty Pages: Innodb_buffer_pool_pages_dirty的值,当前的脏页数
Hit Rate:    命中率
Memory  :    Innodb_buffer_pool_size的值
Add'l Pool: Innodb_additional_mem_pool_size的值

Page Statisics(页面统计)
Reads: Innodb_pages_read的值,读取的页数
Writes:Innodb_pages_written的值,写入的页数
Created:Innodb_pages_created的值,创建的页数

C模式:Command Summary (show Global status)
显示的值按降序排序,变量必须是数字,先按S再输入相关的参数的前缀名:

按s建:输入innodb 则:

D模式:InnoDB Deadlocks(产生的死锁,和产生死锁的语句)

____________________________________________________________________________________ Deadlock Transactions ____________________________________________________________________________________
ID         Timestring           User       Host  Victim  Time   Undo  LStrcts  Query Text                                                                                                      
182513696  2012-11-15 15:39:30  apps_oper  192   No      00:00   215        9  insert into category_doc_info (category_id,doc_title,category_show,category_Coordinate) values(23692,'1941',1,2)
182519005  2012-11-15 15:39:30  apps_oper  192   Yes     00:00     0        4  delete from category_doc_info where (category_id = 23692)

______________________________________ Deadlock Locks ______________________________________
ID         Waiting  Mode  DB    Table              Index         Special          Ins Intent
182513696        0  X     apps  category_doc_info  INDEX_SEARCH  rec but not gap           0
182513696        1  S     apps  category_doc_info  INDEX_SEARCH                            0
182519005        1  X     apps  category_doc_info  INDEX_SEARCH  rec but not gap           0

其中
ID:连接线程ID号
Timestring: 死锁发生的时间
User:用户名
Host:主机

M模式:Replication Status(查看复制状态的信息)

I模式: InnoDB I/O Info (查看InnoDB对应的I/O的信息)

O模式: 查看打开的表

Q模式(非常管用的一项):

然后e输入thread ID显示执行计划或者按F显示完整的sql语句。

innotop监控mysql的更多相关文章

  1. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  2. Zabbix监控mysql performance

    介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...

  3. 监控mysql各种选项

    安装mysql之后,需要对mysql服务进行监控.   nagios开源自带的check_mysql 对 mysql 的slave 机监控倒是不错.但是对数据库主机监控就略显不足了.   使用一个监控 ...

  4. zabbix通过第三方插件percona监控mysql数据库

     zabbix通过第三方插件percona监控mysql数据库                                                                     ...

  5. zabbix利用自带的模板监控mysql数据库

    zabbix利用自带的模板监控mysql数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有些东西你不会的时候觉得它特别难,但是当你去做的时候就发现如此的简单~zabbix功能 ...

  6. 详解 Spotlight on MySQL监控MySQL服务器

    前一章详解了Spotlight on Unix 监控Linux服务器 ,今天再来看看Spotlight on MySQL怎么监控MySQL服务器. 注:http://www.cnblogs.com/J ...

  7. cacti监控mysql

    cacti监控mysql 2013-09-25 16:21:43 分类: LINUX 原文地址:cacti监控mysql 作者:baochenggood cacti监控mysql 1 下载cacti监 ...

  8. zabbix 监控MySQL

    现在我来说一下我的监控环境 zabbix-3.0.3 MySQL-5.6.23 1.首先我们要登录MySQL,创建一个监控MySQL的用户 GRANT USAGE,PROCESS,SUPER,REPL ...

  9. shell脚本监控MySQL服务是否正常

    监控MySQL服务是否正常,通常的思路为:检查3306端口是否启动,ps查看mysqld进程是否启动,命令行登录mysql执行语句返回结果,php或jsp程序检测(需要开发人员开发程序)等等: 方法1 ...

随机推荐

  1. PHP:第一章——PHP中逻辑运算符的使用方法

    //逻辑运算符 $a=;$b=;$c=;$d=; //逻辑与(and 和 &&)他们两个的逻辑是一样的,如果两个值都为true,结果才为true,否则是false. //var_dum ...

  2. POJ 1062 最短路Dijstra

    汉语题... 题意正如你看到的酱... 看的解题报告.思路大概是把每个点看做最高等级.然后枚举所有当前可以访问的点.进行dijstra算法.找到此时到目标点最短路.枚举完之后找到最小的点就可以了. P ...

  3. download fomat install rootfs script

    download.sh #!/bin/sh # check the network first serverip=$(cat /tmp/serverip) while true; do ping -c ...

  4. SQL Server 自动化运维系列 - 多服务器数据收集和性能监控

    需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...

  5. ajax post提交空字符串(string.Empty) MVC接收为null的问题

    ajax post提交空字符串(string.Empty) MVC接收为null的问题 这个问题查了好多资料才知道原因: if (bindingContext.ModelMetadata.Conver ...

  6. 模拟QQ分组(具有伸缩功能) (添加开源框架的光闪烁效果)SimpleExpandableListAdapter 适配器的用法,并且可添加组及其组内数据。

    package com.lixu.qqfenzu; import java.util.ArrayList; import java.util.HashMap; import java.util.Lis ...

  7. IntentService的用法,对比Service它会按顺序执行,不会像Service一样并发执行。

    package com.lixu.intentservice; import android.app.Activity; import android.content.Intent; import a ...

  8. Python Django 前后端数据交互 之 HTTP协议下GET与POST的区别

    99%的人都理解错了HTTP中GET与POST的区别(转自知乎)   作者:Larry链接:https://zhuanlan.zhihu.com/p/22536382来源:知乎著作权归作者所有.商业转 ...

  9. Python 编码问题(十四)

    一.了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的, ...

  10. Redis学习第五课:Redis Set类型及操作

    Set是集合,它是string类型的无序集合.set是通过hash table实现的,添加.删除和查找的复杂度都是O(1). 对集合我们可以取并集.交集.差集.通过这些操作我们可以实现SNS中的好友推 ...