innodb plugin-Making Buffer Cache Scan Resistant

InnoDB 1.5版本引入了innodb_old_blocks_pct和innodb_old_blocks_time两个参数,允许用户通过调整这些参数来限制全表扫描等操作对其他活动的影响,从而更好地控制缓冲池的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者: 弦乐之花 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明

链接:http://shiri512003.itpub.net/post/37713/498378

[@more@]

前些天还在感叹innodb load数据时无法绕开buffer cache(http://shiri512003.itpub.net/post/37713/497158),降低cache的使用效率,今天看innodb plugin 1.5的文档,发现对于这样的场景已经有了相应的参数进行控制,虽然并没有提供直接绕开buffer cache的方法,但相对而言已经好很多了。

在该版本的发布声明上也特别提到了这方面的改进:

http://www.innodb.com/wp/2009/11/27/innodb-plugin-1-0-6-has-been-released/

Changes since release 1.0.4 include a number of bug fixes and improvements, of which the most noticeable are:

  • Users can now limit the impact of a full scan (such as done by “mysqldump” or creating an index) on other operations by adjusting the way scanned pages enter the buffer pool.
  • Duplicate table names are now reported to the client connection instead of the server error log.
  • CREATE INDEX can now be interrupted.

Innodb官方还提供了相关的测试数据(http://www.innodb.com/wp/products/innodb_plugin/plugin-performance/minimizing-the-impact-of-scans-with-innodb-plugin-1-0-6/)。

该版本innodb提供了innodb_old_blocks_pct and innodb_old_blocks_time两个参数来控制cache行为,这两个参数是动态可调的,对于不同的场景可以通过动态调整来更好的控制cache使用。比方针对批量装载数据这样的场景,可以减小这两个参数的设置,来减小这种行为对cache的冲击。

需要注意的是innodb_old_blocks_pct参数permissible value range is 5 to 95,不过相对原来的情况已经要好多了,再配合innodb_old_blocks_time的调整基本上可以满足一般需求了。

文档上面对这两个参数使用的guidelines还是很清楚了,这里就不再废话了。

顺便yy下,使用oracle的朋友是不是在这里会发现些 buffer cache管理的影子O(∩_∩)O哈哈~

innodb plugin现在的最新版本是1.0.6,该版本是27-Nov-09发布的,现在该版本的状态还是RC。总体而言这个版本还是有不少惊喜的,希望该版本能尽快被推广使用。

相关特性介绍链接

http://www.innodb.com/doc/innodb_plugin-1.0/innodb-performance.html#innodb-performance-midpoint_insertion

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7591490/viewspace-1032160/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7591490/viewspace-1032160/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值