免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 25701 | 回复: 24
打印 上一主题 下一主题

Secondary Buffer Pool in InnoDB (4.29 XtraDB已准备整合该patch) [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-12 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-29 11:01 |只看该作者 |倒序浏览
本帖最后由 qlks 于 2010-04-29 10:58 编辑

-----------------------------------------------------------
4.29 XtraDB已准备整合该patch?
有人已经看到这篇文章了,http://www.mysqlperformanceblog. ... ash-cache-is-there/
是的,Peter已经和我联系了,很有可能会整合到XtraDB,大家耐心等待吧
-----------------------------------------------------------
4.21 增加辅助缓冲的架构图



可以对比Oracle的Flash Cache,Oracle不支持预载入,并且放入到Flash Cache的算法相对较为保守
-----------------------------------------------------------
4.6 关于最近的一些问题

1. 修改的InnoDB源代码是针对于InnoDB Plugin 1.0.6,因为MySQL 5.5开始将InnoDB Plugin作为默认的存储引擎了。

2. 因为是针对于1.0.6的版本,所以可以用于所有5.5,5.1的MySQL服务器。5.1动态加载的话,需要另外编译。5.5已经给出了编译好的Linux 64位版本,直接使用即可。强烈推荐使用64位系统。

3. 全部InnoDB的源代码已经上传到code.google.com,如果需要patch的话,只需diff就可以了。因为前段时间更新比较多,因此没有放上patch

4. 该patch没有在生产环境下使用,因为开发这个patch只是一个突然想到的。开发到一半时,发现Oracle已经有类似功能,称为Flash Cache。不过我用tpcc-mysql工具,在Linux下测试了10个小时,没有发现问题。非常希望可以看到生产环境下的使用,我可以给予支持。当然,我相信该patch目前还存在一些问题,希望通过生产环境下的使用,可以给出意见和建议。当然,我自己这里也会找一个项目进行生产环境下的测试。

5. 希望国内有对InnoDB和MySQL进行源码二次开发的请和我联系,我们可以聊聊。
-------------------------------------------------

Flash Cache是Oracle 11G新增的一个功能,原先只在Exedata服务器中支持,最近的patch使得可以在任何服务器中使用。

和Flash Cache的原理,写了一个针对InnoDB的patch,使得可以在InnoDB下使用闪存存储作为辅助缓冲(L2 Cache),如Flash Memoery,SSD等, 我把这个缓冲池称为辅助缓冲池。

patch会对InnoDB增加新的3个参数,
  1. [mysqld]
  2. innodb_secondary_buffer_pool_size=920M
  3. innodb_secondary_buffer_pool_file=/flash/ib_sbpfile
  4. innodb_secondary_buffer_pool_preload_table=tpcc.*:test.t
复制代码
启用Flach Cache后,show engine innodb status下可以看到更多关于辅助缓冲的信息,如:

  1. mysql> show engine innodb status\G;
  2. *************************** 1. row ***************************
  3. ......
  4. ----------------------
  5. SECONDARY BUFFER POOL
  6. ----------------------
  7. Secondary buffer pool size      58880
  8. Free pages      14111
  9. LRU pages       44769
  10. Page reads 269080, sync 201435, swap 214080
  11. Page make young 269080, skip_unuseful 9325, skip_write_overloaded 0
  12. No secondary buffer pool page gets since the last printout
  13. ......
复制代码
若启用预载入到辅助缓冲池innodb_secondary_buffer_pool_preload_table参数,在数据库启动时会看到类似如下内容:

  1. 100329 11:09:55  InnoDB: preloading table tpcc.warehouse to secondary buffer pool.(0.00%)
  2. 100329 11:09:55  InnoDB: preloading table tpcc.item to secondary buffer pool.(0.00%)
  3. 100329 11:09:55  InnoDB: preloading table tpcc.new_orders to secondary buffer pool.(1.01%)
  4. 100329 11:09:55  InnoDB: preloading table tpcc.history to secondary buffer pool.(1.27%)
  5. 100329 11:09:55  InnoDB: preloading table tpcc.district to secondary buffer pool.(4.57%)
  6. 100329 11:09:55  InnoDB: preloading table tpcc.customer to secondary buffer pool.(4.57%)
  7. 100329 11:09:56  InnoDB: preloading table tpcc.order_line to secondary buffer pool.(25.85%)
  8. 100329 11:09:56  InnoDB: preloading table tpcc.orders to secondary buffer pool.(57.90%)
  9. 100329 11:09:57  InnoDB: preloading table tpcc.stock to secondary buffer pool.(60.12%)
  10. 100329 11:09:57  InnoDB: preloading to secondary buffer pool finish.
复制代码
更多关于Secondary Buffer Pool的信息见:
http://code.google.com/p/david-m ... condary_buffer_pool

下载地址:
http://david-mysql-tools.googlec ... linux-x86_64.tar.gz

-------------------------------------------------------------------------------------------------------------------------------------------
为什么不直接使用闪存存储设备,如SSD硬盘来直接作为数据库的永久存储器呢?因为闪存存储设备的优势在读,而不在写。或者说写是其巨大的一个性能弱点。第一,写入速度慢,即使对比一般服务器硬盘也没有优势。第二,有写入寿命的说法,当然存储厂商都号称可以写很多次,但实际生产环境下,谁能放心?第三,写入速度随着使用,速度急剧下降。当然Win 7下已经提供了Trim API,不过Linux是否有类似接口不清楚。因此,在SSD没有解决写入速度和寿命的问题前,将其作为二级缓存是比较明智的一种方案。不过从长远来看,Flash is Disk, Disk is tape是肯定的。

论坛徽章:
0
2 [报告]
发表于 2010-03-29 11:07 |只看该作者
谢谢 qlks的分享。

论坛徽章:
0
3 [报告]
发表于 2010-03-29 11:16 |只看该作者
不错, 顶一下
自己动手, 丰衣足食

论坛徽章:
0
4 [报告]
发表于 2010-03-29 11:27 |只看该作者
很好,支持!

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
5 [报告]
发表于 2010-03-29 14:41 |只看该作者
非常好

谢谢分享

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
6 [报告]
发表于 2010-03-29 16:50 |只看该作者
有条件可以测试下。很不错。

论坛徽章:
0
7 [报告]
发表于 2010-03-30 09:19 |只看该作者
up~

论坛徽章:
0
8 [报告]
发表于 2010-04-02 07:45 |只看该作者
老大作品,一定要顶啊!

论坛徽章:
0
9 [报告]
发表于 2010-04-02 21:19 |只看该作者
thank for sharing!!!:wink:

论坛徽章:
0
10 [报告]
发表于 2010-04-06 11:40 |只看该作者
强力支持!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP