zoukankan      html  css  js  c++  java
  • innodb double write buffer

    两次写是innodb的一个重要特性,目的是为了保证在异常down机或者没电的情况下,保证数据的安全可靠。一次是往内存的double write buffer中写,一次是在刷共享表空间的连续128个页。

    为什么需要double write buffer?

    innodb page一个页是64KB,而通常情况下都是一个页的一部分被修改,比如8KB,而其他的保持原状。而对于大多数Linux系统默认的block size是4KB,所以一个innodb page会被分成好多块,分别被刷

    在没写入真正的ibd文件之前,double write buffer都是顺序写;当往ibd文件刷的时候才是离散写;查看double write运行情况可以用以下命令:

    是否打开了double write:

    show variables like "%double%";

    查看double write的使用情况:

    SHOW global STATUS LIKE "%innodb_dblwr%";

    相当于每次write合并了Innodb_dblwr_pages_written/Innodb_dblwr_writes次Flush

    当Innodb_dblwr_pages_written/Innodb_dblwr_writes 比例越大时说明DB的压力很小

    关闭double buffer,在my.cnf中添加(生产中不建议这么做)

    innodb_doublewrite=0

  • 相关阅读:
    [LeetCode] Maximum Depth of Binary Tree
    C++11中常用的几个简写
    [LeetCode] Word Break
    [LeetCode] Linked List Cycle II
    sizeof
    string和整形数据之间的转换
    ASCII
    [LeetCode] Linked List Cycle
    机器学习总结-线性回归
    推荐系统初探
  • 原文地址:https://www.cnblogs.com/sunss/p/3457055.html
Copyright © 2011-2022 走看看