读缓存的个人经验谈:
先讲结论:
1.设置超级缓存块区大小=硬盘块区大小,最适合。如游戏磁盘32K,缓存也32K,为什么呢请看下图,块区越小,数据交换次数越多,交换数据是要时间的,所以理论上块区越大越快,但有可能浪费了一些东西,所以一般的人都设置32或64K
2.预读可以提高缓存命中,但碎片多,就不一定命中,如预读2,不命中你就浪费了2个块。有些人讲碎片多,用预读浪费,我的观点是,碎片多反而要加大预读设置。因为服务器磁盘碎片多,客户机游戏读取是非常慢的(还记得win98的碎片否),想快,第一整理磁盘,第二就是加大预读
3.还有一点就是,为什么是64K呢,因为好像TCP UPD传输,一次最大就是64K(好像),如果设置128K,你就要分两次发送
CCDISK优化中的,发送长度=65536=64K 就是这个意思
4.超级缓存获得数据之后,发送到客户端,还要经过虚拟盘软件,软件的发送数据长度,也是重要环节,现在除了CCDSIK可以改发送长度,好像其它软件都不可以改,实际是多少也不清楚。。。
5.块大,还可以减少磁盘碎片
6.想知道读缓存有没有起作用,就看性能计数器的命中率吧,没命中的,命中少的,可以不用设置缓存了,像单机游戏盘,没多少人玩的,命中都没有设置没多大用,还不如把它分给网游,有些无盘的系统包的盘,也没命中的,因为锐起本身的缓存就全命中了(游戏包除外,因为太大,锐起可以管理不了这么多内存)
我推荐的设置:
无盘系统:磁盘 4K ,缓存4K ,缓存大小自定义,预读2~5
游戏盘,虚拟盘 64K ,缓存64K,缓存大小自定义,预读2~5(如果是CCIDKS还要设置发送长度=65536)
以上来自wglm.net the886的个人经验,仅供参考。
本文来源:bbs.wglm.net 作者:the886