innodb plugin-Making Buffer Cache Scan Resistant

shiri512003發表於2010-03-19

作者: 絃樂之花 | 可以轉載, 但必須以超連結形式標明文章原始出處和作者資訊及版權宣告

連結: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的方法,但相對而言已經好很多了。

在該版本的釋出宣告上也特別提到了這方面的改進:

()

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官方還提供了相關的測試資料()。

該版本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。總體而言這個版本還是有不少驚喜的,希望該版本能儘快被推廣使用。

相關特性介紹連結

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7591490/viewspace-1032160/,如需轉載,請註明出處,否則將追究法律責任。

相關文章