从零开始带你成为MySQL实战优化高手

本文最后更新于:2023年10月8日 上午

redo日志刷盘策略: innodb_flush_log_at_trx_commit 0/1/2 通常是1,即提交事务的时候,redo日志必须是刷入磁盘文件

binlog日志刷盘策略: sync_binlog


哪些情况下会触发MySQL的预读机制

  • 有一个参数是innodb_read_ahead_threshold,他的默认值是56,意思就是如果顺序的访问了一个区里的多个 数据页,访问的数据页的数量超过了这个阈值,此时就会触发预读机制,把下一个相邻区中的所有数据页都加载到缓 存里去
  • 如果Buffer Pool里缓存了一个区里的13个连续的数据页,而且这些数据页都是比较频繁会被访问的,此时就会直接触发预读机制,把这个区里的其他的数据页都加载到缓(这个机制是通过参数innodb_random_read_ahead来控制的,他默认是OFF,也就是这个规则是关闭的)存里去

全表扫描可能导致频繁被访问的缓存页被淘汰

mysql性能调优

设置多个Buffer Pool

#MySQL服务器端的配置。

1
2
3
[server]
innodb_buffer_pool_size = 8589934592
innodb_buffer_pool_instances = 4

我们给buffer pool设置了8GB的总内存,然后设置了他应该有4个Buffer Pool,此时就是说,每个buffer pool的大小就是2GB`


从零开始带你成为MySQL实战优化高手
https://baymax55.github.io/2023/09/28/mysql/从零开始带你成为MySQL实战优化高手/
作者
baymax55
发布于
2023年9月28日
许可协议