免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: fengwy
打印 上一主题 下一主题

为什么裸设备要比文件系统慢 [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
21 [报告]
发表于 2005-05-27 15:33 |只看该作者

为什么裸设备要比文件系统慢

dd的测试有的时候有问题

论坛徽章:
0
22 [报告]
发表于 2005-05-27 17:12 |只看该作者

为什么裸设备要比文件系统慢

原帖由 "wolfop" 发表:

具体的设备路径?

/dev/vgpc/rlv001
这有关系吗?

论坛徽章:
0
23 [报告]
发表于 2005-05-27 17:26 |只看该作者

为什么裸设备要比文件系统慢

halex1227  说的对     缓冲有很大关系

论坛徽章:
0
24 [报告]
发表于 2005-05-27 22:23 |只看该作者

为什么裸设备要比文件系统慢

原帖由 "fengwy" 发表:

这个不知你是如何认为的,在数据库用文件系统为什么会有风险呢?什么风险?
而且“使用raw设备损失一点性能但可以提高安全性”这句话不知怎么解释?


数据库使用文件系统作为数据设备的风险在于:
当系统突然掉电时,文件系统缓冲中会有一些数据并未写入相应磁盘中,但是数据库已经认为写入数据完成造成数据不一致。
使用RAW设备时,每一次数据库写入数据都真实的写在相应磁盘中不存在数据不一致的可能,应为若写入失败,数据库也不会认为写入成功。

论坛徽章:
0
25 [报告]
发表于 2005-05-28 01:04 |只看该作者

为什么裸设备要比文件系统慢

dd 测试文件系统肯定会比raw设备快,因为文件系统有缓冲区而raw没有,正因为如此raw设备对数据库而言性能不会比文件系统慢。
首先,如果数据库使用文件系统的话1个IO写操作需要这么一个过程:
IO write==>;database buffer==>;file system buffer ==>;array controller cache==>;hard disk
最后看看用raw设备需要的过程
IO write==>;database buffer==>;array controller cache==>;hard disk
这样开销就降低了很多,而且可以空出来更多的free memory给数据库使用,这又能大大增加database buffer的命中率。
而且确实用文件系统有数据不一致的风险,虽然很多高级文件系统都有自己的日志,但这仍是一种风险。

论坛徽章:
0
26 [报告]
发表于 2005-05-28 18:58 |只看该作者

为什么裸设备要比文件系统慢

原帖由 "halex1227" 发表:


数据库使用文件系统作为数据设备的风险在于:
当系统突然掉电时,文件系统缓冲中会有一些数据并未写入相应磁盘中,但是数据库已经认为写入数据完成造成数据不一致。
使用RAW设备时,每一次数据库写入数据都真实..........

如果从数据一致性来考虑的话,我觉得这和文件系统和裸设备关系都不大,因为数据库在处理这些东西有自己的方法,在写到磁盘上之前,数据库的日志写进程首先要一定写到自己的日志里,这一步是同步的,所以不要从这个方面考虑文件系统没有裸设备安全,而且我觉得可能文件系统会更好一些,因为文件系统还要有日志的保护。

论坛徽章:
0
27 [报告]
发表于 2005-05-28 19:04 |只看该作者

为什么裸设备要比文件系统慢

dd 测试文件系统肯定会比raw设备快,因为文件系统有缓冲区而raw没有,正因为如此raw设备对数据库而言性能不会比文件系统慢。
-------------------------------
那本地硬盘的测试为什么裸设备要比文件系统快?

论坛徽章:
0
28 [报告]
发表于 2005-05-28 23:08 |只看该作者

为什么裸设备要比文件系统慢

文件系统通常会利用操作系统提供的读写缓存,等于有了二级缓存,自然会比裸设备快。

论坛徽章:
0
29 [报告]
发表于 2005-05-28 23:33 |只看该作者

为什么裸设备要比文件系统慢

[quote]原帖由 "cws_79"]文件系统通常会利用操作系统提供的读写缓存,等于有了二级缓存,自然会比裸设备快。[/quote 发表:

裸设备不经过文件系统的缓存为什么要比文件系统慢?

论坛徽章:
0
30 [报告]
发表于 2005-05-29 01:02 |只看该作者

为什么裸设备要比文件系统慢

首先,如果数据库使用文件系统的话1个IO写操作需要这么一个过程:
IO write==>;database buffer==>;file system buffer ==>;array controller cache==>;hard disk
最后看看用raw设备需要的过程
IO write==>;database buffer==>;array controller cache==>;hard disk
这样开销就降低了很多,而且可以空出来更多的free memory给数据库使用,这又能大大增加database buffer的命中率。
------------------------------
这个没问题
agree
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP