mysql 如何减少InnoDB关闭时间

时间:2022-05-25 03:54:31

原文连接: https://www.percona.com/blog/2009/04/15/how-to-decrease-innodb-shutdown-times/

 

有时,运行InnoDB的MySQL服务器需要很长时间才能关闭。通常的罪魁祸首是从缓冲池中清除脏页。这些页面已在内存中修改,但未在磁盘上修改。

如果您在服务器完成此过程之前将其杀死,则它将仅在启动时进入恢复阶段,由于各种原因,InnoDB库存中的服务器可能比关机过程还要慢

 

减少关闭时间的一种方法是预刷新脏页面,如下所示:

 
1 mysql> set global innodb_max_dirty_pages_pct = 0;

 

现在运行以下命令:

 
1 2 3 4 $ mysqladmin ext -i10 | grep dirty | Innodb_buffer_pool_pages_dirty    | 1823484        | | Innodb_buffer_pool_pages_dirty    | 1821293        | | Innodb_buffer_pool_pages_dirty    | 1818938        |

 

然后等待它接近零。(如果正在积极使用服务器,它将不会为零。)

一旦它非常低,您就可以执行关闭操作,并且未完成的工作要少得多,因此服务器应该更快地关闭。