14.4.3.6 Fine-tuning InnoDB Buffer Pool Flushing 微调 InnoDB Buffer Pool 刷新:

本文介绍如何通过配置选项如innodb_flush_neighbors和innodb_lru_scan_depth来微调InnoDBBufferPool的刷新机制。这些选项有助于优化写密集型负载,并确保在不同存储介质上(如HDD和SSD)的高效运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

14.4.3.6 Fine-tuning InnoDB Buffer Pool Flushing 微调 InnoDB Buffer Pool 刷新:


innodb_flush_neighbors and innodb_lru_scan_depth 配置选项 让你微调flush处理的某些方面

对于InnoDB buffer pool.那些选项主要帮助密集写负载。对于大量的DML 活动,


flush可能落后 如果它不够积极,导致在缓冲池过度使用

或者 写磁盘由于flush 可以侵蚀你的I/O能力 如果机制过于激进。

设置依赖你的负载,数据访问模式,存储配置(比如,数据是否存储在HDD或者SSD设备).


对于繁重的负载的系统,或者 工作覆盖波动很大,几个配置选项让你微调flush 行动对于InnoDB 表。


innodb_adaptive_flushing_lwm

innodb_max_dirty_pages_pct_lwm

innodb_io_capacity_max

innodb_flushing_avg_loops


InnoDB 自适应刷新机制 不适合于所有情况,它提供了最大的效益 当redo log 是出于危险的填充状态。


innodb_adaptive_flushing_lwm  选项指定一个“low water mark”选项 

当到达阀值时, InnoDB 启用自适应刷新尽管 innodb_adaptive_flushing 选项没有指定

mysql> show variables like '%innodb_adaptive_flushing%';
+------------------------------+-------+
| Variable_name                | Value |
+------------------------------+-------+
| innodb_adaptive_flushing     | ON    |
| innodb_adaptive_flushing_lwm | 10    |
+------------------------------+-------+
2 rows in set (0.00 sec)

如果flush 活动远远落后,InnoDB 可以flush 更积极相比 innodb_io_capacity的指定


innodb_io_capacity_max 代表一个I/O能力的上线用于紧急情况,因此 I/O不会消耗所有的服务器能力


InnoDB 尝试flush 数据从buffer pool,脏页的比例不会超过 innodb_max_dirty_pages_pct的值。

默认值是 innodb_max_dirty_pages_pct是75

转载于:https://www.cnblogs.com/zhaoyangjian724/p/6199801.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值