innodb:[InnoDB系列] - InnoDB Buffer Pool保存和还原补丁

=style1>作/译者:叶金荣(Email:日志中记录了大量类似下面内容:

.... 081008 14:36:28 mysqld_safe Starting mysqld daemon with databases from /data/mysql 081008 14:36:30 InnoDB: highest supported file format is Barracuda. 081008 14:36:35 InnoDB Plugin 1.0.1 started; log sequence number 205351853106 succeeded for space=43 off=1344258 table_id=0 69 index_id=0 122 succeeded for space=43 off=1344259 table_id=0 69 index_id=0 122 .....

然后再看看buffer pool情况:

... Buffer pool size 917503 Free buffers 0 Database pages 917503 Modied db pages 0 ...

可以看到几乎填满了所有buffer pool相当于还原到了重启前内存状态省去了需要经过段时间运行才能使内存填满所需缓冲过程实在是方便不过它也有个致命缺点那就是如果你buffer pool较大(测试时最高用到14G)则启动可能会非常慢有时候甚至无法忍受测试服务器配置应该说还算不错了(dell 2950, 16Gb ram, MD3000盘阵)然而上面测试中启动mysqld居然花了几乎7个小时才完成根本无法忍受
把buffer pool大小调成6G还是执行上面测试发现启动时间立刻缩小了很多只需要2min53s

注意:不建议在非常重要系统中使用该补丁出了问题没人为你负责 :)

附:下面是我些测试数据

417439 3m0.737s 617439 4m50.357s 637439 5m38.622s 667439 6m8.553s 717439 7m10.761s 727439 7m14.659s 827439 6h20m

列是表示 ib_buf_pool_state 文件中有多少行数据另外可以通过 head/tail/grep 等工具来自主选择需要被重新加载buffer内容

TAG: Buffer InnoDB innodb Pool 保存


Tags:  engineinnodb innodbmyisam mysqlinnodb innodb

延伸阅读

最新评论

发表评论