本帖最后由 uc21 于 2010-12-3 16:04 编辑
易游总版本bell 最近对易游新缓存做了一些解读,生动的阐述了缓存的应用。
1)同样设置512M的缓存,为什么人家系统镜像盘的命中率能到百分之九十几,而我的死活在八十几附近徘徊?主要原因不外乎就那么几个,首先可能是你的系统镜像内置了较多的常用软件如QQ之类,另外可能镜像盘放置的镜像配置比较多,再有就是可能某些工作站上面曾经有大量扫描系统盘的动作(如浏览XX网页下载了木马)。通过适当调高缓存的大小,即可立竿见影,让命中率迅速突破。
2)可能会经常碰到这样一种情况,比如对某个游戏盘,当设置了8G缓存时命中率为87%,当设置了10G缓存时为93%,为什么命中率才提高了那么一点点?其实,这“一点点”丝毫也不是那么“一点点”,前后缓存命中率虽然才提高了6%,但站在磁盘的角度看,新增加的2G缓存让磁盘的访问量从原来的13%减少到后来的7%,也就是说,磁盘的访问几乎减少了一半,赚翻了。当缓存命中率上升到一个高度,小数位的少许提高,就意味着磁盘访问的大幅减少。
3)我给游戏盘设置了8G物理缓存加40G的SSD辅助缓存,运行老半天了,整体命中率虽然挺高,但发现SSD没啥动静,似乎不怎么给力,是不是哪里不对劲吗?其实,都挺对劲的,如果在流量不大的时候SSD非常活跃十分给力,反而就不对劲了。物理缓存作为主缓存,始终是最活跃和最给力的,而SSD作为辅助缓存,是在物理主缓存用不上力的时候才涉入。如果给游戏盘设置相当大的物理缓存,那么SSD辅助缓存的作用相对就不是那么明显了,注意这是相对的,如果带机量很大,流量很高,那么SSD辅助缓存就大派用场了。
4)当你准备用一块如Intel X25-M G2 80GB (MLC) 这样的SSD硬盘来部署网吧时,尽量不要把这块硬盘“瓜分”个精光,而是保留适当的剩余空间不去碰它,大约10-20%也就是10-15G左右。相应地,如果是160G的盘,建议保留个20-30G左右。原因是,SSD在使用一段时间后,都会难以避免地出现一定的性能退化现象(还并不是常规磁盘碎片这种简单问题),额外保留适当的备用空间,有助于缓解这种不利因素,以保持一个较高水准的随机读写性能,乃至延长SSD的使用寿命。另外顺带提醒一下,对于SSD硬盘,有事没事都不要尝试去做磁盘碎片整理,现有的常规磁盘碎片整理工具做梦都没想到会出来SSD这么个怪物,纯属一厢情愿帮倒忙。
5)细心点不难发现,服务端回写盘的缓存命中率往往很低,百分之十几甚至百分之几的也很常见,这是咋回事呢?原因是,回写已经首先由工作站本地缓存拦了一道,能跑到服务端的都是那些被淘汰的最不受欢迎的漏网之鱼。工作站内存越大,相应设置的回写缓存越多,服务端回写就越少,回读也就更少。故从原则上讲,服务端回写盘的缓存命中率是越低越好,而非越高越好。如果你的回写盘半天没访问,缓存命中率为0%,恭喜你,赶紧躲到角落里偷着乐去。
6)最后一点提示,也是最重要的提示:别老看“命中”,要关注“疗效”。当看完前面的提示后,必须重新站个位置,把效能和成本放到一起(传说中的性价比),加上均衡这两个字来考虑。当缓存算法优化到一定程度后,它就不是万能的了,这时万能的是银子。当你对着越来越高的命中率笑开了怀之时,是否想过这样一个问题:我真的需要那么高的命中率吗?其实,对于一台配置得当的服务器,往往稍微低那么点命中,让磁盘高那么点IOPS并不会影响到用户体验。从上面的提示(3)不难得出个推论:当命中率到达一定程度后,增加的银子与增加的命中率是不成正比的。而对于均衡,则是要避免那种力气没有花在刀刃上的情况,导致一边闲得荒而另一边累得慌,一个夸张点的例子就是镜像盘给4G缓存(99.99%命中),游戏盘给1G缓存(30%命中)。不过话说回来,我还是爱高命中,关键时刻能给力不说,平时看着都心跳。
|