首页 > MySQL, MySQL HA > MySQL 5.4的新特性解析

MySQL 5.4的新特性解析

Author: Ivan@mysqlab.net/谭俊青 转载请注明来源URI链接:

http://www.mysqlab.net/blog/2009/04/mysql-54的新特性解析/

MySQL 5.4 之所以命名为5.4,而不是5.2 是因为之前的5.2版本被命名为6.0了(这个应该是商业上的原因,就像java1.6被命名为6.0)。现在的5.4 preview release 是在当前MySQL5.1的基础上,对 Innodb 进行了一些优化,这些补丁来自google,包括:InnodbIoTuning, InnodbAsyncIo, InnodbStatus , NewShowInnodbStatus , SmpPerformance 等。

从所打的那些补丁,我们可以看出,对innodb做了很多优化,特别是io的优化和smp多核cpu的优化。

下面就一些新增参数和默认值的更改做些说明:

innodb_io_capacity

这个在之前的innodb版本中是被写死的,默认值是100,在5.4中默认值已经改成200。

innodb_extra_dirty_writes

这个是非常有用的一个特性,当服务器资源idle的时候,会做checkpoint,将脏数据页写入表空间,及时没有到达设置的比例(innodb_dirty_pages_pct,innodb_max_dirty_pages_pct)。

innodb_buffer_pool_size

默认值由原来的8M改为1G,其实在大些的db中,这个还是远远不够的。可以将1半,甚至2/3的内存用在这上面。

innodb_log_file_size

默认值增至128M 在磁盘性能好些的机器上,应该还要增加,配合innodb_dirty_pages_pct, 以实现更加好的性能。

innodb_thread_concurrency

Innodb中的并发控制参数,默认值由8改0,这个都得以于google的smpperformance补丁,以前并发超过8时,性能基本上会下降。

另外需要提醒的是:目前MySQL5.4还是preview release,不建议用于生产环境。

Related posts:

  1. google patch v4 for mysql
  2. MySQL5.5与MySQL5.1 性能(比较)对比测试
  3. InnoDB Plugin 1.0.4 for MySQL 5.1.37
  4. MySQL5.5新特性
  5. 6.0.11 will be the last release of MySQL 6.0
  6. MySQL5.6发布及其新特性
分类: MySQL, MySQL HA 标签:
  1. adsf
    2009年4月23日12:49 | #1

    innodb_log_file_size innodb日志大小不是要和innodb_buffer_pool_size一样大或者更大吗?

  2. 2009年4月23日12:53 | #2

    @adsf
    当然不是,innodb_log_file_size 总大小有4G的限制,哪怕64位也一样。
    而且如果设置太大,server crash之后,recovery需要很长的时间,因此设置多大,需要根据机器、磁盘性能以及业务而定,这个还需配合脏数据的比例来设定。

  3. 2009年4月28日10:03 | #3

    呵呵,这里面的好几个feature我已经用上了,percona的分支 :)

  4. 2009年4月28日10:05 | #4

    @yejr
    嗯,暂时不敢用,不过有用google的5.0.37 v3 patch

  1. 2009年4月28日10:19 | #1
  2. 2009年5月1日13:14 | #2
  3. 2009年12月16日10:12 | #3