楼主: wzy25

db_file_multiblock_read_count和max_io_size的关系

[复制链接]
论坛徽章:
62
马上加薪
日期:2014-02-19 11:55:142011新春纪念徽章
日期:2011-02-18 11:43:332010广州亚运会纪念徽章:田径
日期:2011-02-17 18:03:352011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:012010广州亚运会纪念徽章:三项全能
日期:2010-11-15 13:36:51ITPUB9周年纪念徽章
日期:2010-10-08 09:34:02
11#
 楼主| 发表于 2005-4-6 13:37 | 只看该作者
结论
1.在redhat 2.1环境下,max_io_size=128*block_size=128*4=512k。(该值在各种常见的linux版本下,应该都是一样的)
2.设置大的db_file_multiblock_read_count,可以有效的减少io读取次数,但是
db_file_multiblock_read_count*block_size<=max_io_size
3.通过三次执行时间对比
db_file_multiblock_read_count=8    time=2.41
db_file_multiblock_read_count=64  time=2.48
db_file_multiblock_read_count=256 time=2.66
发现提高db_file_multiblock_read_count值,未能获得理想的性能提升,
可能是应为存储性能比较差的原因,不能满足一次读取512k的需求。但是设置大的db_file_multiblock_read_count值,可以有效的减少io读取次数,可以相应的提高系统的并发能力。
4.对于典型的oltp环境,最好不要随意提高 db_file_multiblock_read_count,在oracle一次读取64k数据的情况下,比较适合大多数环境。

使用道具 举报

回复
论坛徽章:
22
2010新春纪念徽章
日期:2010-03-01 11:08:33马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09
12#
发表于 2005-4-6 22:17 | 只看该作者
不会吧, 我的linux系统, redhat advanced server 3, redhat linux 9, fedora core 3都是max_io_size都是1M唉.

其实不需要那么复杂的去寻找最大的db_file_multiblock_read_count.

只要设置一个非常大的值, eg: 1024, Oracle系统会自动给你调整到当前系统支持的最大值,

手头只有windows的机器, 先示范着看看

SQL> show parameter db_file_multiblock_read_count

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count        integer     8
SQL> alter system set db_file_multiblock_read_count = 1024 scope=both;

System altered.

SQL> show parameter db_file_multiblock_read_count

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count        integer     256
SQL>

使用道具 举报

回复
论坛徽章:
62
马上加薪
日期:2014-02-19 11:55:142011新春纪念徽章
日期:2011-02-18 11:43:332010广州亚运会纪念徽章:田径
日期:2011-02-17 18:03:352011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:012010广州亚运会纪念徽章:三项全能
日期:2010-11-15 13:36:51ITPUB9周年纪念徽章
日期:2010-10-08 09:34:02
13#
 楼主| 发表于 2005-4-7 10:16 | 只看该作者
呵呵,在linux下面,你通过10046去看看,他是可以调整到256,其实已经超过系统的最大io了,最高只能到512k的。

如果这个值设置的db_file_multiblock_read_count*block_size>max_io_size,至少在solarias下面会出现问题的。而不是一味的设置的很大。

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2005-10-30 17:05:33生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:532015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
14#
发表于 2005-4-7 19:05 | 只看该作者
请问在solaris会出现什么问题?

使用道具 举报

回复
论坛徽章:
62
马上加薪
日期:2014-02-19 11:55:142011新春纪念徽章
日期:2011-02-18 11:43:332010广州亚运会纪念徽章:田径
日期:2011-02-17 18:03:352011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:012010广州亚运会纪念徽章:三项全能
日期:2010-11-15 13:36:51ITPUB9周年纪念徽章
日期:2010-10-08 09:34:02
15#
 楼主| 发表于 2005-4-8 11:25 | 只看该作者
metalink上面有一些关于这个solarias下面的问题,可以自己去看看

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2006-02-05 10:41:13ITPUB元老
日期:2006-08-29 02:51:07生肖徽章2007版:鼠
日期:2008-01-02 17:35:532010新春纪念徽章
日期:2010-01-04 08:33:08
16#
发表于 2007-1-25 10:07 | 只看该作者
Good to know.
(Y)

使用道具 举报

回复
论坛徽章:
60
2007年度最佳版主
日期:2008-04-03 16:46:15现任管理团队成员
日期:2011-05-07 01:45:08双黄蛋
日期:2011-06-15 17:03:34ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
17#
发表于 2007-1-25 13:52 | 只看该作者
挺搞笑的

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
18#
发表于 2007-1-26 00:17 | 只看该作者
Interesting testing.

Max_io_size is constrained by underlying harddisk itself(OS).  Hence, the limitation in most OS  is 512K,  apparently  limited by LVM.
Heard that AIX 5.1.3 can support up to 16M (can't remember exactly).

Therefore, for 32K database warehouse, if the MAX_IO_SIZE IS 512, then only db_file_multiblock_read_count=16 makes sense.

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2007-06-10 08:10:05
19#
发表于 2007-1-26 20:35 | 只看该作者
OS Specification
kernel limitation

Hard disk
stripe
RAID method (level 5 or not)
RAID controller
And even data bus

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2006-12-13 16:50:07参与2007年甲骨文全球大会(中国上海)纪念
日期:2007-08-06 15:19:02生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
20#
发表于 2007-1-27 10:12 | 只看该作者
谁能说说设置过多是否有负面影响?
是否仅仅对全表扫描有性能上的提升

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表