首页 > MySQL, MySQL Innodb > InnoDB Plugin 1.0.4 for MySQL 5.1.37

InnoDB Plugin 1.0.4 for MySQL 5.1.37

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/

Related posts:

  1. InnoDB plugin 1.0.7
  2. Handler-Socket Plugin for MySQL – SQL的功能、NoSQL的性能
  3. MySQL新版(5.x)及特性
  4. MySQL5.5新特性
  5. google patch v4 for mysql
  6. Inniostat – InnoDB IO Statistics
  7. Raid1+0 stripe size for MySQL InnoDB
  8. OnlineDataDrift 主从数据一致性校验
分类: MySQL, MySQL Innodb 标签:
  1. deluxe
    2009年8月18日13:33 | #1

    终于被官方认证,可以开始尝试下

  2. 2009年8月25日04:10 | #2

    @deluxe
    嗯,这次迫于压力,改进的地方真的不少。最欣赏的还是adaptive checkpoint

  3. lsmqy
    2009年9月8日11:31 | #3

    我按照readme中的提示,在my.cnf中加入了:

    ignore_builtin_innodb
    plugin_load=innodb=ha_innodb.so;innodb_trx=ha_innodb.so;innodb_locks=ha_innodb.so;innodb_lock_waits=ha_innodb.so;innodb_cmp=ha_innodb.so;innodb_cmp_reset=ha_innodb.so;innodb_cmpmem=ha_innodb.so;innodb_cmpmem_reset=ha_innodb.so

    启动mysql后用
    mysql> show variables like ‘%Innodb%’;
    +———————–+——-+
    | Variable_name | Value |
    +———————–+——-+
    | have_innodb | NO |
    | ignore_builtin_innodb | ON |
    +———————–+——-+
    发现innodb没有启用
    但我把刚修改的my.cnf中的选项去掉重启后innodb又被启用了,这个应该怎么解决呢?

  4. lsmqy
    2009年9月8日11:35 | #4

    我的是MySQL 5.1.37
    已经将ha_innodb.so复制到了/usr/local/mysql/lib/mysql/plugin 目录下

  5. lsmqy
    2009年9月8日11:42 | #5

    090908 11:41:19 [ERROR] Can’t open shared library ‘/usr/local/mysql/lib/mysql/plugin/ha_innodb.so’ (errno: 0 undefined symbol: my_pthread_fastmutex_init)
    090908 11:41:19 [ERROR] Couldn’t load plugin named ‘innodb’ with soname ‘ha_innodb.so’.

  6. 2009年9月8日12:42 | #6

    @lsmqy

    have_dynamic_loading 看看是不是on

    另外一种简单的办法就是,直接将plugin的源码替换掉MySQL5.1.37中的innobase
    然后编译即可。

  7. 2009年10月30日13:14 | #7
  1. 2009年12月4日23:40 | #1