mysql什么时间会触发page_cleaner
Page cleaner是MySQL中的一个后台线程,用于在后台清理脏页(dirty page)并将其刷新到磁盘。脏页是指已经被修改但尚未持久化到磁盘的页。
Page cleaner的触发时机主要有以下几种情况:
-
脏页达到一定阈值:当脏页的数量达到innodb_max_dirty_pages_pct参数所设定的阈值时,会触发page cleaner的工作。默认情况下,该阈值为90%,可以通过修改该参数来调整。
-
脏页时间过长:如果某个脏页在内存中存放的时间超过了innodb_max_dirty_pages_age参数所设定的阈值,会触发page cleaner将其刷新到磁盘。默认情况下,该阈值为0,表示不限制脏页在内存中的存放时间。
-
事务提交或回滚:当一个事务提交或回滚时,会触发page cleaner将该事务所涉及的脏页刷新到磁盘。
需要注意的是,page cleaner并不是立即将脏页刷新到磁盘,而是根据一定的算法和策略来确定刷新的顺序和时机。这样可以减少磁盘I/O的负载,并提高系统的性能。
原文地址: https://www.cveoy.top/t/topic/hSMF 著作权归作者所有。请勿转载和采集!