• 14.3.3.2 Configuring the Rate of InnoDB Buffer Pool Flushing 配置 InnoDB Buffer Pool 刷新频率


    14.3.3.2 Configuring the Rate of InnoDB Buffer Pool Flushing 配置 InnoDB Buffer Pool 刷新频率

    InnoDB 执行某些后台任务,包括flush dirty pages(那些pages已经被修改了但是没有写入到database files)

    从buffer pool.InnoDB flushes buffer pool 页如果当前脏的pages 的比例在buffer pool

    超过了 innodb_max_dirty_pages_pct。 在MySQL 5.7.5,

    InnoDB flushed buffer pool pages 如果 脏的pages的比例大于或等于innodb_max_dirty_pages_pct

    InnoDB 使用一个算法来评估flush需要的速率,其目的是平滑的总体的性能通过确保buffer flush 活动

    来保持缓冲池的干净。

    flush自动调整的速率可以帮助避免突然下降的吞吐量, 当过多的buffer pool flush 限制了I/O的性能

    InnoDB 使用它的log files 在一个循环方式,在重用log file的一部分之前,

    InnoDB flushes 所有的dirty buffer pool pages 到磁盘,这些redo entries 是包含在log file这部分,

    这一操作称为checkpoint. 如果负载是写密集的,它会产生大量的redo 信息,都被写入到log file.

    如果所有的可用空间在log files 都被使用,一个checkpoint 发生,

    导致一个临时的吞吐量下降。这种情况肯呢过发生 即使 innodb_max_dirty_pages_pct 没有被达到。

    InnoDB 使用一个启发式算法来避免这样的情况,通过测量 缓冲池里的脏的pages的数量,

    和redo生成的频率。 基于这些数据,InnoDB 决定每秒多少脏的pages 从buffer pool 刷新到磁盘

    内部基准测试还表明,该算法不仅保持吞吐量随着时间的推移,也可以显著的改善整体的吞吐量

  • 相关阅读:
    12月上旬的一些记录
    11月底的记录
    备考 19号
    在android 中开发java.net.SocketException: socket failed: EACCES (Permission denied) 报错
    使用JAVA NIO实现的UDP client和server
    ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
    直接拿来用!最火的iOS开源项目(一)
    Anroid ListView分组和悬浮Header实现
    Android 联网监控抓包工具的制作(tcpdump的使用)
    Android tcpdump抓包应用实现
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351184.html
Copyright © 2020-2023  润新知