十一 26

innodb_max_dirty_pages_pct与检查点的关系

数据库运行一段时间后,经常导致服务器大量的swap,我怀疑是innodb中的脏数据太多了,因为没有free space了,mysql通知OS,把一些脏页交换出去,以上只是猜测。有一个现象是每次关数据库时都要关很久,并且在关数据库时,发现有大量的swap in。如果是数据库进程异常关闭,打开数据库又会花很长的时间来作恢复。我想提高一下mysql检查点发生的频率。看了Adaptive checkpointing,发现mysql检查点事件受两个因素的制约:一个是amount,另外一个是age.amount主要由innodb_max_dirty_pages_pct参数控制;至于age,主要是由日志文件大小有关。因为修改日志文件大小,要重启数据库,所以没有做这个尝试;于是尝试修改innodb_max_dirty_pages_pct参数。

继续阅读全文