MySQL实战45讲 学习笔记(六)

MySQL性能瞬间下降分析

什么时候会引发flush

  1. redo log 写满。这时候系统会停止所有更新操作,把 checkpoint 往前推进,redo log 留出空间可以继续写
  2. 系统内存不足。当需要新的内存页,而内存不够用的时候,就要淘汰一些数据页,空出内存给别的数据页使用。如果淘汰的是“脏页”,就要先将脏页写到磁盘
  3. MySQL 认为系统“空闲”的时候
  4. MySQL 正常关闭的情况。

显然:以下两种情况会严重影响性能:

一个查询要淘汰的脏页个数太多,会导致查询的响应时间明显变长;
日志写满,更新全部堵住,写性能跌为 0

flush速度控制

影响InnoDB的刷盘速度的因素:

  1. 脏页比例,
  2. redo log 写盘速度

相关参数

  1. innodb_io_capacity 动态调整刷新脏页的数量
  2. innodb_max_dirty_pages_pct 脏页比例上限,默认值是 75%
  3. 脏页比例:Innodb_buffer_pool_pages_dirty/Innodb_buffer_pool_pages_total (脏页数/总页数)
  4. innodb_flush_neighbors (值为1则邻居连坐 0则关闭)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值