存档

2009年8月 的存档

InnoDB Plugin 1.0.4 for MySQL 5.1.37

2009年8月13日 谭俊青 7 条评论

InnoDB Plugin 1.0.4 这次加入了不少第三方的代码,个人比较在意的是 Google 和 Percona 提供的部分。Innodb从而实现了性能上很大的提升,不想以前在并发稍大(比如>8),吞吐量升值会下将,现在却又很大的提升。

个人关注的改进部分有:

1: Multiple Background Threads

最初由Google提供的补丁,参数 innodb_file_io_threads 可以设置io threads的数量,之前是假的…

2:Master Thread I/O Capacity Tuning

之前innodb在代码里面写死了 innodb_io_capacity 为100,但是现在db服务器很多都是用多块硬盘做raid10,IOPS 一般都远不止100,因此这次改进之后  innodb_io_capacity 变成可以动态调整的参数,用于DBA选择一个合适的值。

3:Group Commit

这个据说以前4.x之前就支持的,现在又回来了,支持多个事务同时提交(主要是redo log,之前是因为binlog的2-phase commit protocal的原因中止的),从而提高吞吐量。

4:Adaptive Flushing

这个非常有用,大家知道在脏数据到达设置的阀值比例之后,会开始主动做checkpoint,当checkpoint无可避免的时候,这时候会堵塞用户线程,从而出现性能的突然下降。现在这个问题得到巧妙的解决,会根据算法动态的调整checkpoint的速率,避免出现性能的突然降低。

REFERENCE:

http://www.innodb.com/wp/2009/08/11/innodb-plugin-104-released/

http://www.innodb.com/wp/products/innodb_plugin/license/third-party-contributions-in-innodb-plugin-1-0-4/

分类: MySQL, MySQL Innodb 标签:

Innodb快速恢复补丁

2009年8月5日 谭俊青 9 条评论

Yasufumi 提供了一个用户在innodb crash后快速恢复的补丁

如果最后该补丁能够纳入官方体系,那么Innodb将在性能上又有很大的提升。

上次MySQL中文实验室的聚会中介绍了buffer大小,redo log大小,checkpoint对性能的影响。那么如果大的redo log能在crash后快速回复的话,我们可以将redo log设置到最大,这样可以尽可能降低checkpoint的次数,来提升数据库的性能。

再者还可以将redo log 4G的限制从源码上解决,从而适应现在动则上10G的buffer。

分类: MySQL Innodb 标签: