InnoDB 1.1.X(MySQL5.5)数据预热 --- 持续更新

线上服务器在重启过后,由于innodb buffer pool被清空,往往在最开始一段时间的性能会很差,当用户量特别大的高峰时期更是如此。MySQL 5.6 将 InnoDB版本升级到1.2.X后,提供了一共5个新的参数用于配置预热功能,将innodb buffer pool中的热块缓存到磁盘文件ib_buffer_pool中,待重启时再加载到内存中。

本文是对生产环境下,部分使用5.5及更早版本的数据库服务器没有该参数可供选择的情况下,提供了一个手动预热的方法。

SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES

【编辑中】

。。。



【编辑中】


可以将该sql写在配置文件中(加入init-file=~/init.sql),方便每次重启mysql后自动执行预热sql


注,mysql5.6异常关闭时,预热功能正常?


参考:

https://dev.mysql.com/doc/refman/5.6/en/innodb-preload-buffer-pool.html

https://blog.marceloaltmann.com/en-warm-up-innodb-buffer-pool-pt-esquentando-o-innodb-buffer-pool/

https://stackoverflow.com/questions/3430865/how-to-preload-tables-into-innodb-buffer-pool-with-mysql

http://mysqlserverteam.com/mysql-dumping-and-reloading-the-innodb-buffer-pool/

http://imysqldba.blog.51cto.com/1222376/1119804


你可能感兴趣的:(MySQL)