美文网首页
脏页数据落地导致Mysql抖动

脏页数据落地导致Mysql抖动

作者: taojian | 来源:发表于2020-06-01 10:16 被阅读0次

线上出现SQL时延大幅上涨,拿到监控数据,未能准确知道原因。

一、监控数据
1、外部流量无上涨,SQL时延上涨100倍

image.png

2、DB的QPS陡然下降


image.png

3、DB所在的机器IO,写流量剧增


image.png

4、内网网络无明显波动


image.png

5、Mysql主从库都出现相同的情况

二、开始分析
初步判断:
1、DB机器出现大量写操作,影响IO导致DB时延上涨及QPS下降
2、服务的QPS没上涨,代表不是服务流量影响DB

总结:
MYSQL本身的操作所致,而且是写磁盘的操作,很有可能是涉及主从同步。

三、破案
运维看了下,回答如下:
原因:主库的落地导致IO 拉高了。
解决办法:调整脏数据的落地百分比,调低一些,增加落地频率,别一次性落地这么猛。

image.png

更改后,IO不再抖动:


image.png

但是,为什么会突然大量的落地呢?
三个原因:mysql的自动管理,redo日志满了,重启
更倾向于mysql的自动管理,可以调整刷脏的百分比,防止大流量IO出现
https://www.cnblogs.com/xxmysql/p/5754211.html

四、脏页
页面更新是在缓存池Buffer Pool中先进行的,那它就和磁盘上的页不一致了,这样的缓存页也被称为脏页(英文名:dirty page)
https://blog.csdn.net/weixin_33812433/article/details/92853658

image.png

相关文章

  • 脏页数据落地导致Mysql抖动

    线上出现SQL时延大幅上涨,拿到监控数据,未能准确知道原因。 一、监控数据1、外部流量无上涨,SQL时延上涨100...

  • mysql脏页是什么?

    mysql脏页:当内存数据页和磁盘数据页上的内容不一致时,我们称这个内存页为脏页;内存数据写入磁盘后,内存页上的数...

  • MySQL刷脏页造成查询性能抖动

    MySQL更新数据,更新内存buffer pool里的数据,然后写redo log,之后就返回了。这样在异步线程把...

  • checkpoint

    问题1:MySQL怎么判断脏页?基于数据页面的LSN,可以了解当前数据页面的版本。MySQL系统在更新记录时,会在...

  • [MySQL]浅谈InnoDB存储引擎(六)自适应哈希索引

    回顾 上章节我们探险了两次写,它解决了MySQL故障时导致的数据脏页无法通过redo log来修复的问题。那么这章...

  • MySQL脏页

    当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。内存数据写入到磁盘后,内存和磁盘上的数据页的...

  • Mysql - 脏页

    1 . 脏页(内存页) 当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。内存数据写入到磁盘后...

  • mysql的各种名词

    脏页:在内存中,页数据被修改则该数据页即时脏页,通过page clean thread 去刷新脏页到磁盘 undo...

  • MySQL:脏页刷盘

    什么是脏页? InnoDB在处理更新语句时,先写内存再写redo log,并不会立即将数据页的更新落地到磁盘(WA...

  • Innodb关于脏页刷新的两个问题

    Innodb的内存与硬盘不一致的数据页称为脏页,因为脏页包含了事务最新修改的数据,为了持久化,就需要刷脏页到磁盘。...

网友评论

      本文标题:脏页数据落地导致Mysql抖动

      本文链接:https://www.haomeiwen.com/subject/zfrjzhtx.html