MySQL5.6:高速预热Buffer_Pool缓冲池

MySQL5.6:快速预热Buffer_Pool缓冲池

数据库的buffer pool中的数据重启后,会丢失。因此,再次启动后,需要重新通过应用对数据库的访问,逐渐加载到buffer pool中。这个过程称为数据库预热。如果库较大,该过程花费时间较长,期间应用的性能也受到影响。

MySQL 5.6中,可以将buffer pool的内容(文件页的索引)dump到文件中,然后快速load到buffer pool中。避免了数据库的预热过程,提高了应用访问的性能。

mysql> show variables like 'innodb_buffer%';
+-------------------------------------+----------------+
| Variable_name                       | Value          |
+-------------------------------------+----------------+
| innodb_buffer_pool_dump_at_shutdown | OFF            |
| innodb_buffer_pool_dump_now         | OFF            |
| innodb_buffer_pool_filename         | ib_buffer_pool |
| innodb_buffer_pool_load_at_startup  | OFF            |
| innodb_buffer_pool_load_now         | OFF            |
+-------------------------------------+----------------+

运行时dump缓冲池:

set global innodb_buffer_pool_dump_now = ON;

运行时load缓冲池:

set global innodb_buffer_pool_load_now = ON;

关闭时dump缓冲池:

innodb_buffer_pool_dump_at_shutdown = ON;

启动时load缓冲池:

innodb_buffer_pool_load_at_startup = ON;

设置记录缓冲池页块的文件:

innodb_buffer_pool_filename = <path\to\file>
MySQL5.6:高速预热Buffer_Pool缓冲池

相关文章:

你感兴趣的文章:

标签云: