老司机带你体验SYS库多种新玩法

  1. 云栖社区>
  2. 老叶茶馆>
  3. 博客>
  4. 正文

老司机带你体验SYS库多种新玩法

技术小能手 2017-09-14 16:14:06 浏览2274
展开阅读全文

如何更加愉快地利用sys库做一些监控?

快来,跟上老司机,体验sys库的多种新玩法~

MySQL5.7的新特性中,非常突出的特性之一就是sys库,不仅可以通过sys库完成MySQL信息的收集,还可以用来监控和排查问题。
但你知道吗,sys库其实还有很多种玩法,有的或许单看表名就知道了,但有一些,还是需要老司机带路哦~

一.用户、连接类

1、查看每个客户端IP过来的连接消耗资源情况。

image


2、查看每个用户消耗资源情况


image


3、查看当前连接情况(有多少连接就应该有多少行)


image

4、查看当前正在执行的SQL和执行show full processlist的效果相当。

image


二.SQL 和io类

1、查看发生IO请求前三名的文件。


image

三、buffer pool 、内存

1、查看总共分配了多少内存。


image


2、每个库(database)占用多少buffer pool


image


3、统计innodb 引擎的 innodb缓存

pages是指在buffer pool中的page数量;pages_old指在LRU 列表中处于后37%位置的page。
当出现buffer page不够用时,就会征用这些page所占的空间。37%是默认位置,具体可以自定义。


image


4、统计每张表具体在InnoDB中具体的情况,比如占多少页?

其实和第3例的pages的总数都是相等的,你可以借用sum(pages)运算验证一下哦!


image


5、查询每个连接分配了多少内存(我这台没什么业务,所以有点不堪),利用session表和memory_by_thread_by_current_bytes分配表进行关联查询。


image

四、字段、索引、锁

1、查看表自增字段最大值和当前值,有时候做数据增长的监控,可以作为参考,你使用时,不一定要加条件语句。

image

2、MySQL索引使用情况统计

image


3、MySQL中有哪些冗余索引和无用索引

若库中展示没有冗余索引,则没有数据;当有联合索引idx_abc(a,b,c)和idx_a(a),那么idx_a就算冗余索引了。


image


4、查看INNODB 锁信息

在未来的版本将被移除,可以采用其他方式


image


5、查看库级别的锁信息,这个需要先打开MDL锁的监控:


image
image


五.线程类

1、MySQL内部有多个线程在运行,线程类型及数量。


image

原文发布时间为:2017-09-14
本文作者:田帅萌@知数堂
本文来自云栖社区合作伙伴“老叶茶馆”,了解相关信息可以关注“老叶茶馆”微信公众号

网友评论

登录后评论
0/500
评论
技术小能手
+ 关注
所属团队号: 老叶茶馆