http://blog.itpub.net/28916011/viewspace-1971933/
percona监控mysql的几张图形解释
 
 
最近,我仔细研究了一下percona监控mysql的几张图的含义。

Com_XXX表示每个XXX语句执行的次数如:
Com_select 执行select操作的次数,一次查询只累计加1
Com_update 执行update操作的次数
Com_insert 执行insert操作的次数,对批量插入只算一次。
Com_delete 执行delete操作的次数

只针对于InnoDB存储引擎的操作次数:

Innodb_rows_deleted 从InnoDB表删除的行数。
Innodb_rows_inserted 插入到InnoDB表的行数。
Innodb_rows_read 从InnoDB表读取的行数。
Innodb_rows_updated InnoDB表内更新的行数。

上图数据来源于: show global status like '%innodb_row%'

 
 
InnoDB semaphore

 

The InnoDB Semaphores graph shows information on InnoDB semaphore activity: the number of spin rounds, spin
waits, and OS waits. You might see these graphs spike during times of high concurrency or contention. These graphs
basically indicate different types of activity involved in obtaining row locks or mutexes, which are causes of poor
scaling in some cases.
 
上面数据来源于:
mysql> show engine innodb status \G;
SEMAPHORES(信号量)
OS WAIT ARRAY INFO: reservation count 6428579
OS WAIT ARRAY INFO: signal count 6391102
Mutex spin waits 10807638, rounds 51362184, OS waits 1135246
RW-shared spins 5183147, rounds 154424701, OS waits 5133668
RW-excl spins 187041, rounds 4866289, OS waits 132629
Spin rounds per wait: 4.75 mutex, 29.79 RW-shared, 26.02 RW-excl
 
czxin注释:"spin waits" 和 "spin rounds" 的数量。相较于系统等待,自旋锁是低成本的等待;不过它是一个活跃的等待,会浪费一些cpu资源。因此如果看到大量的自旋等待和自旋轮转,则很显然它浪费 了很多cpu资源。浪费cpu时间和无谓的上下文切换之间可以用 innodb_sync_spin_loops 来平衡。
 
reservation count" 和 "signal count" 显示了 innodb 使用内部同步阵列的活跃程度 - 时间片(slot)分配以及线程信号使用同步阵列的频繁程度。这些统计信息可以用于表示 innodb 回退到系统等待的频率。还有关于系统等待的直接相关信息,可以看到"OS Waits"的互斥信号灯(mutexes),以及读写锁。这些信息中显示了互斥锁和共享锁。系统等待和 "保留(reservation)" 不完全一样,在回退到用 sync_array 的复杂等待模式前,innodb 会尝试 "输出(yield)" 到系统,希望下一次调度时间对象里命名线程已经释放了。系统等待相对较慢,如果每秒发生了上万次系统等待,则可能会有问题。另一个观察方法是查看系统状态 中的上下文(context)交换频率。
 
 
锁资源

上图表示行锁的等待。

innodb_lock_wait 指的是不能立即获取行锁而需要等待的次数/每秒。

上图的数据来源于show global status like 'innodb_lock_wait'

MySQL table locks

上图表示的是表级锁的等待

Table_locks_immediate 指的是能够立即获得表级锁的次数/每秒,

Table_locks_waited指的是不能立即获取表级锁而需要等待的次数/每秒。

上图数据来源于show global status like '%table_lock%'

 
 
Innodb table in use
 

 
The InnoDB Tables In Use graph shows how many tables InnoDB has in use and how many are locked. If there are
spikes in these graphs, you’ll probably also see spikes in LOCK WAIT and other signs of contention amongst queries.

上面的innodb tables in use和innodb locked tables两个参数值来自于show engine innodb status \G;搜索 table即可找到。注意这两个值不是每秒的值,而是真实值。

percona监控模板图形解释的更多相关文章

  1. 给zabbix添加percona监控模板

    简单说明一下给zabbix添加的percona的监控模板. 在percona官方网站有说明怎么安装,这里记录下步骤.首先搭建好的zabbix环境. 监控插件连接 : 链接:https://pan.ba ...

  2. Ubuntu下Zabbix结合percona监控mysql数据

    按道理来说zabbix就自带的MySQL插件来监控mysql数据库,但是你会发现,自带的mysql监控项是很少的,根本满足不了公司的需求.由于它本身自带的模板太过简单了,所以需要做更详细的监控,而pe ...

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

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

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

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

  5. 使用Percona监控插件监控MySQL

    1.使用Percona监控插件监控MySQL yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/per ...

  6. 【JVM源码解析】模板解释器解释执行Java字节码指令(上)

    本文由HeapDump性能社区首席讲师鸠摩(马智)授权整理发布 第17章-x86-64寄存器 不同的CPU都能够解释的机器语言的体系称为指令集架构(ISA,Instruction Set Archit ...

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

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

  8. zabbix 常用监控模板

    以下为常用的服务监控,可直接通过zabbix的导入功能导入,做基本修改就可以使用nginx监控模板 <?xml version="1.0" encoding="UT ...

  9. Zabbix-2.X/3.X监控工具监控Redis以及zabbix Redis监控模板下载

    为了监控Redis3的运行状况,去zabbix官网查找资料,根据提示,找到了这个项目:https://github.com/blacked/zbx_redis_template 但是文档和内容已经不匹 ...

随机推荐

  1. 数论/the first wave

    线性筛素数(原来我之前学的不是线性的啊... void getprime(){ rep(i,2,nmax){ if(!vis[i]) prime[++prime[0]]=i; for(int j=1; ...

  2. [HNOI2006]超级英雄Hero

    这题一看就应该知道是二分图匹配…… 我记得有个类似的题有一个并查集的解法,但是我找不到了…… var i,n,m:longint; p:..] of longint; v:..] of boolean ...

  3. 利用Merge Into 更新表,集合数据到数据库中

    使用Merge INTO 将表数据更新到数据库中 创建User-Defined Table Types   创建要更新的UserDetails表 创建更新存储过程 程序调用存储过程 查看结果

  4. shape的属性

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...

  5. Android 隐藏RadoiButton左边按钮

    声明方式 添加属性 android:button=“@null”? 代码方式 radioBtn.setButtonDrawable(new StateListDrawable());

  6. JS分页 + 获取MVC地址栏URL路径的最后参数

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  7. HDU 4389 X mod f(x)

    题意:求[A,B]内有多少个数,满足x % f(x) == 0. 解法:数位DP.转化为ans = solve(b) - solve(a - 1).设dp[i][sum][mod][r]表示长度为i, ...

  8. 31、activity 四种工作模式

    一个应用通常(不一定)对应一个任务栈,相当于有个集合,保存了这个app里所有的页面栈的规则是先进后出,"进"就相当于打开了一个页面,"出"就相当于返回时关闭一个 ...

  9. HDU 1495 非常可乐 BFS搜索

    题意:有个为三个杯子(杯子没有刻度),体积为s,n,m,s=m+n, 刚开始只有体积为s的杯子装满可乐,可以互相倒,问你最少的次数使可乐均分,如果没有结果,输出-1; 分析:直接互相倒就完了,BFS模 ...

  10. 转:eclipse导入工程中文乱码问题

    eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的.一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同 ...