美文网首页
索引篇:为什么Mysql突然抖了一下

索引篇:为什么Mysql突然抖了一下

作者: liugechiji | 来源:发表于2019-07-16 23:06 被阅读0次

    场景

    我们经常会在线上环境发现,我们的一条SQL语句,正常执行的时候非常快,但是偶尔会出现特别慢的情况,而且在线上很难复现,但是这个问题又的确时时刻刻困扰着我们,不免是一个心头大患。

    这个情况很大概率就是Mysql在刷DirtyPage的操作。

    Mysql刷DirtyPage的几大原因

    • redoLog(重做日志)写满了:
      • 我们知道,Mysql有着一套WAL机制,即数据会先写到redoLog中,然后再将数据写入内存,等到合适的时机进行flush刷盘操作,以防止突然的掉电/宕机导致的数据丢失问题。
      • redoLog是一个环形队列,类似于ringBuffer,有着两个pos:writePos,readPos。当writePos == readPos的时候,说明当前redoLog内存池中容量已经不足以
    • 当前内存占用满了:
    • Mysql处于空闲状态:
    • Mysql主动关闭状态:

    相关文章

      网友评论

          本文标题:索引篇:为什么Mysql突然抖了一下

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