2020已经悄然来到身边,感觉时间过的很快,学习的过程也是,一阵热乎的很简单,难再坚持两个字好写,做起来确实是难事。本系列后续还会有,会因为监控这个事情本身就没有完,只有更加的尽善尽美。所以监控系列还会有更多的内容,但会比较分散。

正文

问:  我的系统里面有大事务,怎么辨别其中可能会出现的问题?

在MYSQL中有一个共识点,就是不建议有较复杂的整体性的事务一次性处理,建议是分开处理,降低一个大事务的里面的关联性,让他变成多个事务来处理。当在MYSQL 中出现了超大事务对系统是不好,但如何解释清楚,这就是一个问题。

1 Checkpoint ,众所周知如果 dirty page 到达一个值触发的比率会进行脏页的刷新,当然checkpoint 本身也有四种模式对应的方式来刷新数据到磁盘。

一个事务完整的一个阶段如下

  • 创建阶段:事务创建一条日志;

  • 日志刷盘:日志写入到磁盘上的日志文件;

  • 数据刷盘:日志对应的脏页数据写入到磁盘上的数据文件;

  • 写CKP:日志被当作Checkpoint写入日志文件;

其中会有几个点需要注意,

1 日志空间的 7/8的位置,如果日志写到这个位置会开始异步的进行checkpoint ,但不阻塞事务

2  日志的 15/16的位置,如果触发到这个点,会停止一些当前事务,开始刷盘

3  达到 31/32 的位置,开始做last checkpoint

4  达到日志空间的大小,停止一些事务,做last checkpoint

所以就会存在 当大事务一次性写入的数量较大,并持续性当达到 7/8 和 15/16之间的位置,整体系统就会处于I/O繁忙刷磁盘的情况,当到达15/16 整体系统就不在接受操作了。

所以我们就必须要监控到底日志占用的情况,使用下面的方式监控

select count/1000000 from innodb_metrics where name like '%innodb_check%';

查看checkpoint 占用的整体的百分比。

问:当前数据库的innodb的log 写入的情况如何,有么有等待的状态,存在不存在瓶颈?

这里指的是redo log 的写入有没有瓶颈,我们可以监控 Innodb_os_log_pending_writes 参数是否有增长的泰式,如果持续的增长,则说明以上日志的写入有性能瓶颈。 而通过Innodb_os_log_written参数可以获得相关的日志写入的字节数。来进行判断当前的日志写入整体的情况。

问:当前MYSQL 系统的latch 锁如何,是否存在瓶颈,怎么改善?

首先latch 是一个内存锁,主要的作用是,保护共享资源支持并发,本身这两个事情就是矛盾的,资源要独享,还要支持并发,自然就要有锁来保证。

(注:以上锁并非直接指数据库的行锁,页锁,表锁的概念),相关理论请参考mysql latch 锁,这里不展开。

对一下的参数进行定期的记录并比较,可以获得系统中在检查时间段中,是否有存在系统latch 争用厉害的情况,除了查看当下SQL语句执行的情况,还可以根据其他的情况,来调整mysql instance 的数量,来缓解。

select name,count from INNODB_METRICS where name in ('innodb_rwlock_s_spin_rounds','innodb_rwlock_x_spin_rounds','innodb_rwlock_sx_spin_rounds');

问:自适应哈希索引工作的情况如何?都是MYSQL 自己进行,如何监控?

简单说一下HASH ,其实这样的方法也可以自己设计到业务表中,来达到某些目的和加速查询,MYSQL 这边提供的自适应HASH 。

对于数据库的查询,通过主键和索引查询是常态,MYSQL 的 AHI,针对超过3次以上的对应查询 = ,>=   <=  ,in 等操作会进行记录,并进行数据页与 自动生成的HASH 值的对应。通过这样的方式来加速数据的查询,尤其对于层高已经在 4层的索引,这样的方法会大大加速数据的查询。

那怎么监控AHI 索引的使用情况

select * from INNODB_METRICS where name like 'adaptive_hash_searches'\G

MySQL 那些监控参数 问 答 (4)REDO AHI latch 锁相关推荐

  1. mysql 重要监控参数_mysql 的重要参数,监控需要

    show status like 'Threads_connected'; --变量的值是表示当前有多少个客户连接该mysql服务器,连接数是否过多,网络时候存在问题!特别是在pconnect的情况下 ...

  2. mysql 5.7 sys schema_案例详细说明MySQL5.7中 performance与sys schema中的监控参数

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  3. mysql5.7 sql监控_MySQL5.7中 performance和sys schema中的监控参数解释

    MySQL5.7中的mysql  performance和sys 监控参数 1.performance schema:介绍 在MySQL5.7中,performance schema有很大改进,包括引 ...

  4. MySQL夺命连环12问

    1. 数据库三大范式是什么? 第一范式:每个列都不可以再拆分. 第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分. 第三范式:在第二范式的基础上,非主键列只依赖于主键, ...

  5. MySQL 性能监控4大指标——第一部分

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分将详细介绍前两个指标: 查询吞吐量与查询执行性能.文章系国内 ITOM 管理平台 OneAPM ...

  6. 口碑好的mysql数据监控平台_构建狂拽炫酷屌的 MySQL 监控平台

    prometheus+grafana 对于现在这个时间点来说,相信很多同行都应该已经开始玩起来了,当仍然可能有一部分人可能还不知道prometheus+grafana 的存在,也可能还有一部分人虽然知 ...

  7. 普通用户Mysql 5.6.13 主从,主主及nagios的mysql slave监控

    Master:192.168.209.19 Slave:192.168.209.20 mysql版本:mysql5.6.13 1. 以root身份创建普通用户,如mysql,并创建mysql安装目录: ...

  8. 衡量 mysql性能状态 参数 详解

    MySQL 数据库的性能状态监控点非常之多,其中很多量都是我们不能忽视的必须监控的 量,且90% 以上的内容可以在连接上MySQL Server 后执行"SHOW /*!50000 GLOB ...

  9. MySQL 性能监控 4 大指标

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现.    MySQL 是什么? MySQL  ...

  10. 原来MySQL面试还会问这些...

    前言 在前一阵子,大哥问过我:"你知道MySQL的原子性是怎么保证的吗".我懵逼了,MySQL怎么保证原子性?我不会啊. 谁都知道在事务里边原子性的意思:"一个事务包含多 ...

最新文章

  1. UvaUva11059 最大乘积
  2. IDE之VS:Visual Studio2017版本安装图文教程之详细攻略
  3. 使用Flex图表组件
  4. java 中violate_Java中的volatile关键字及Cache更新
  5. 构造函数的五种继承方法
  6. 微软最有价值专家(MVP)四连任
  7. 3月21日阿里云北京峰会的注册二维码
  8. 易语言 html替换,易语言教程文本替换和子文本替换
  9. Unity 2D图像识别 动态添加相片到图像库 AR Tracked Image
  10. 黑盒测试设计专题:正交试验
  11. 关闭appleid双重认证_iPhone 丢失怎么办?开启双重认证就能解决!
  12. 写教案时,PDF怎么转换成PPT?用迅读PDF大师,超简单
  13. Linux Deepin15.9下更新nvidia显卡驱动
  14. HDU 操作系统实验二 -设计一个系统调用,返回指定进程的相关时间信息
  15. transitive fanout与set_dont_touch_network
  16. cdn连接失败是什么意思_CDN经常连接失败的原因有哪些?
  17. LeetCode 871. 最低加油次数
  18. 数组下标越界可能出现的问题
  19. 解决电脑分辨率及缩放导致页面变形的问题
  20. 火狐可以打开谷歌打不开_如何设置Firefox以使用Google Apps打开所有内容

热门文章

  1. 洛杉矶儿童医院被列为美国西部第一,在全美儿童医院中的总体排名升至第五
  2. python买卖股票_python买卖股票的最佳时机(基于贪心_蛮力算法)
  3. CUBA 7 新特性(上篇)
  4. vs 设置起始页不见了_VS2015,为什么模板不见了,请教
  5. 常见的java毕业设计_php毕业设计题目汇总
  6. 民营股份制企业是什么意思
  7. DataSource接口,一个被大多数程序员忽略的接口
  8. 源码阅读分析 - Window底层原理与系统架构
  9. python安装出错0x80072ee7_python3.6.4安装错误0x80072efd
  10. 一位硕士毕业生三个月求职经历与经验结晶【转帖】