number321 发表于 2013-07-04 20:56

请问哪些场合适合使用大缓存的RAID卡?

是不是在任何情况下,都是RAID卡的缓存越大越能提高存储的性能呢?

缓存是不是在突发传输比较多的情况下才比较适用呢,如果存储平时一直都是持续地接收到IO请求,那么缓存在其中能起到什么样的帮助作用呢?

dengbao2001 发表于 2013-07-04 22:06

缓存越做越大,一个存在一个成本的问题,第二个存在效率的问题

不一定是越大越好的,和内存一样,到了一定级别,再大了也没什么用处的

pingfan2 发表于 2013-07-05 22:42

回复 1# number321


    缓存基本上就是重复读(热数据)I/O的命中;以及写I/O的暂存,然后再定时或者根据饱和度落盘

puppy5211 发表于 2013-07-08 14:43

如果性能跟的上,又能更改flush时间,。。。应该是越大越好吧。:em17:

apen 发表于 2013-07-09 17:25

过大的话至少会带来两个问题:一是成本、二是缓存命中率。另外与使用环境也有一定关系,对于频繁的小文件操作,大缓存意义不大。

登高望远海 发表于 2013-08-11 15:20

缓存是不是越大对存储性能就越好,这个是受多方面的因素影响的,并不是一个是或否就能解答的问题。
(1) 缓存替换策略也能影响缓存大小的选择:如果某个缓存替换策略足够优秀,跟其他缓存策略相比,即使缓存很小,依然能够维持较高的缓存命中率,达到更好的性能;
(2) 跟缓存策略也有关:如果是写透缓存,对于写请求来说,其实缓存是起不到加速性能的作用,且如果写请求相对于读请求很多,那么相当于实际上还是直接写磁盘了,如果读请求与写请求无关,那缓存的写数据基本上也没意义了;如果是写回缓存,那么缓存越大就能存储更多的写入数据,这些数据在满足一定的条件(如时间超过某个阈值、缓存替换算法选择将其换出等)才写到磁盘,增加了写合并的可能,可以提升性能;
(3) 跟IO请求的特征也有关:因为实际上对操作系统来说,一般OS对写都是异步的,而对读则是同步的,实际上真正导致IO性能的瓶颈是OS对读请求的响应能力。如果读请求没有规律,且也没有部分数据频繁读取的情况,那么大缓存与小缓存的性能其实差别不大(当然,你要是选择一个基本跟底层存储磁盘一样大的缓存那就另当别论了)。实际上,如果读取的数据具有空间和时间的局部性规律或者写入时缓存的策略是写回且写入的数据在不久的将来就会访问到,那么的确是缓存越大越好,但是如果应用不具备这样的特性,那么选择一个相对于底层存储磁盘来说大小有限的缓存实际上也没办法带来性能的显著提升。
   总体来说,实际上是应用的IO特性决定了最合适的缓存大小。
页: [1]
查看完整版本: 请问哪些场合适合使用大缓存的RAID卡?