免费注册 查看新帖 |

Chinaunix

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

[RAID与磁盘阵列] 为什么硬盘缓存都那么小,比如16MB或32MB [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-12 23:50 |只看该作者 |倒序浏览
如题,为什么硬盘缓存都那么小,如果是预读取的话,保存数据,这么点才够保存多少的?如果是写缓存的话,我写一个1G的文件,要分成好几个16MB或者64MB再往磁盘上转移么?为什么不干脆做大呢?

论坛徽章:
13
技术图书徽章
日期:2014-04-29 14:15:42IT运维版块每日发帖之星
日期:2015-12-12 06:20:00IT运维版块每日发帖之星
日期:2015-08-30 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-08-02 06:20:002015年亚洲杯之澳大利亚
日期:2015-04-03 15:03:12申猴
日期:2015-03-20 09:00:292015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15季节之章:冬
日期:2015-01-20 17:08:47双子座
日期:2014-11-21 16:30:31技术图书徽章
日期:2014-07-11 16:29:08
2 [报告]
发表于 2012-12-13 10:45 |只看该作者
首先是工艺的问题

其实是实际应用的问题,缓存的确快,但是从缓存写入到磁盘毕竟需要实际,如果掉电了,数据丢失也是一个问题

还有事一个技术的问题,你看看CPU缓存,多一点点效率高多少,而不是越多越好

论坛徽章:
6
2015年迎新春徽章
日期:2015-03-04 09:48:00IT运维版块每日发帖之星
日期:2015-06-11 22:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00数据库技术版块每日发帖之星
日期:2015-10-24 06:20:00IT运维版块每日发帖之星
日期:2015-12-24 06:20:00IT运维版块每日发帖之星
日期:2016-04-15 06:20:00
3 [报告]
发表于 2012-12-13 12:43 |只看该作者
楼上正解,如果对缓存要求较高,可以使用带大容量缓存的阵列卡,一般会配有电池。

论坛徽章:
0
4 [报告]
发表于 2012-12-13 14:27 |只看该作者
我不太明白,即便阵列卡配个512缓存,就拿预读取功能来说,512能存多少东西供我下次读取???回复 3# apen


   

论坛徽章:
0
5 [报告]
发表于 2012-12-13 14:28 |只看该作者
回复 2# dengbao2001


    那是不是每次写入的时候,比如我的RAID卡带512缓存,那就先写进去512的数据,然后等缓存写进磁盘,我再往里续,然后再等,再续,是这样么?实际应用起来的话这个步骤会非常非常快么,我理解是每次硬盘都只能写512MB,然后再写下一个512,是这样么?

论坛徽章:
13
技术图书徽章
日期:2014-04-29 14:15:42IT运维版块每日发帖之星
日期:2015-12-12 06:20:00IT运维版块每日发帖之星
日期:2015-08-30 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-08-02 06:20:002015年亚洲杯之澳大利亚
日期:2015-04-03 15:03:12申猴
日期:2015-03-20 09:00:292015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15季节之章:冬
日期:2015-01-20 17:08:47双子座
日期:2014-11-21 16:30:31技术图书徽章
日期:2014-07-11 16:29:08
6 [报告]
发表于 2012-12-13 22:12 |只看该作者
通常都是先写Cache,

论坛徽章:
6
2015年迎新春徽章
日期:2015-03-04 09:48:00IT运维版块每日发帖之星
日期:2015-06-11 22:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00数据库技术版块每日发帖之星
日期:2015-10-24 06:20:00IT运维版块每日发帖之星
日期:2015-12-24 06:20:00IT运维版块每日发帖之星
日期:2016-04-15 06:20:00
7 [报告]
发表于 2012-12-14 08:47 |只看该作者
回复 4# maomaostyle
预读数据量并不是越大越好,一个在成本问题,缓存太大的话硬件成本也会加大,另个一个是命中率的问题,缓存太大的话命中率也会下降,加上程序在执行的过程中的并发操作、分支等等,反而会降低速度。


   

论坛徽章:
0
8 [报告]
发表于 2012-12-14 09:58 |只看该作者
回复 7# apen


    那如果我经常调取一个100MB的文件,普通家用硬盘缓存16MB,它能保留多少信息呢?况且还有很多其他文件也经常读,容量有限,到底存哪个呢?还是只保留一些路径或文件名信息?

论坛徽章:
0
9 [报告]
发表于 2012-12-14 10:15 |只看该作者
磁盘的缓存不是文件系统层面的缓存,和你读取或者写入多大文件没有直接的关系,参考下面文章。
http://hi.baidu.com/fuping111/item/1bc741204579641409750868
阵列卡的缓存一般会有更多的功能,如效验计算,预读,回写等等

论坛徽章:
6
2015年迎新春徽章
日期:2015-03-04 09:48:00IT运维版块每日发帖之星
日期:2015-06-11 22:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00数据库技术版块每日发帖之星
日期:2015-10-24 06:20:00IT运维版块每日发帖之星
日期:2015-12-24 06:20:00IT运维版块每日发帖之星
日期:2016-04-15 06:20:00
10 [报告]
发表于 2012-12-14 13:57 |只看该作者
这个是由缓存操作策略来解决的,一般来说缓存可以分为读缓存和写缓存,对普通用户来说一般是平均分配的,但一些高级设备(如阵列卡),可以根据应用情况来调整分配比例,16M的缓存来读取100M的文件,并不是要使用全部的缓存来读取所有文件,而是根据一个常规的算法来分配读缓存和写缓存的比例,同时在读取的也不会让一个文件使用全部缓存,而是在接到操作系统的读取指令时,适当的预读取一些数据在缓存中,当需要这些数据时就不再需要直接从盘片上读取。缓存操作策略是个很复杂的东西,即需要复杂的操作算法,也必须对用户系统的日常操作习惯进行长期的分析,才能确定一个合适的算法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP