锐起无盘服务器supercache的设置方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
锐起无盘服务器supercache的设置方法
2010-01-31 11:11
大家好,我是挨踢民工.因工作关系有接触无盘.国内无盘高手找效率最高的,都用bxp做无盘.我想是因为bxp服务端带缓存算法.我小白也就找简单的做,我用的是锐起.可锐起没服务端缓存(自3.0后终于有客户端缓存了),网上大多文章都说要配合supercach来做服务端缓存.和怎么设置却没个准谱.最近我翻译了supercache的使用说明(请在看这篇前先阅读, 空间传送
门:/234815421/blog/1254850625也可以在这下载: /ywwz/file/supercache/SuperCacheIII官
方使用说明翻译.html)(见文章末尾),结合锐起服务端总结的一个设置方法.这里和大家分享一下.
先让大家看看范例服务器的状态:
请大家注意镜像存放的目录和回写目录.还有我得告诉大家这台服务器是正在带客户机的机器,并非试验机.实际只带70+台,那个122台并非想迷惑大家.
我们先说读盘的设置吧.,我这边的体系是把游戏都放在虚拟磁盘里,无盘只放一些最常用的游戏.所以读盘压力非常小.我甚至经常把客户机的系统镜像直接放服务器的D盘里---和服务器系统同一块硬盘 =.=; 在设置前先得获取一些参数,一般我是用系统自带的perfmon(系统性能监控器)来获取这些参
数.perfmon的使用方法我简单地说一下.
运行perfmon -> 在perfmon的图表上右键属性 -> 直接跳到"数据"选项卡,把"数据"选项卡里默认的3个计数器删除掉 -> 点击"添加"按钮,弹出"添加计数
器"对话框 -> 点选"性能对象"为"Volume Filter"(卷过滤器) 这里请注
意,Volume Filter这个性能对象有时会不出现,这时只要退回上一步的"添加"按钮那再试一遍即可.我不清楚原因,知道的朋友请帮忙科普一下.此时应该是这样的画面:
读盘应该注意一下几个计数器:
Read - Average bytes per operation
每次读取操作的平均字节数这个决定了supercache的页面尺寸.
Read - Bytes per second
每秒的读取字节数相当于读盘流量
Read - Operations per second
每秒的读取操作数硬盘最重要的参数,iops.这里只计算读取的iops. 相当于读盘的压力
Read - Percent cache hits
缓存命中率用来判断你设置的supercache是否高效的关键参数.
看看范例服务器的数据,这里J盘是放系统镜像,K盘是放(相对于系统)不怎么读的数据盘.
图形表示:
数据表示(平均数):
这些数据表明,J盘平均的读取大小在12KB左右.
流量0.2KB/S,每秒的io才0.02,压力很小.
缓存命中率100%,但我是在白天没什么人流(看压力就知道了)的情况下测试的.请无视这个100%
同样的方法看,K盘几乎没在用.
缓存页面大小(Cache page size)
按图就应该设置成接近12KB的数.页面值设置大了浪费内存;设置小了虽然提高效率可系统需要更多额外内存来管理页面,你得确保你系统是否有那么多内存.
无论怎么你都得确保系统可用内存应该在20%-25%左右.
缓存大小(Cache size)
一般像我自己用的才3G的系统,非常纯粹的系统.最小地给128MB,多的话个200MB也够了.当然前提是系统里不要放太多没用的东西,这个考验做系统的能力了.
缓存排序(Sort algorithm)
按说明书系统镜像的读取是属于"有明显热点"的,一般为了保险起见我都是用MFU排序.反正CPU也空闲在那---因为锐起没服务端缓存算法CPU非常闲.
预读(Read-ahead)
这个会造成缓存排序错乱,没必要.当然如果你内存多分配的缓存很大勾选上去也无妨.
延迟写入模式(Deferred-write mode)
关闭,读盘只有在超级用户时才写入数据.而且镜像包经不起数据丢失的折腾.
这是范例服务器上放系统镜像的J盘的supercache的设置:(K盘忘记设置了囧
范例服务器的内存有8G,CPU也是4核滴.把页面值设置的小小滴把缓存设置得大大地,不打紧.
前几天接手一台服务器.这台服务器不仅带无盘还带很多服务.我把系统镜像放在和系统同一块硬盘的D盘.测试时发现,即使不带客户机读盘的流量和IOPS都很大,所以无论我怎么设置命中率都提不高.因为读取太没规律了.所以在测试时
也得注意读盘的流量和IOPS,像我那个都没怎么读的读盘命中率100%就没什么好炫耀了.像这种还做其他服务的无盘服务器就得找个空闲的盘放系统咯.有点老生常谈的感觉呵. ^_^
无论怎么设置,最终以高峰期读盘的缓存命中率的高低来判断,通常应该在>90%.请记住这点.同时也得注意磁盘的负载情况,读盘很少出现负载不够的情况,等说回写盘时在看.
接着就是回写盘的设置了,对于无盘来说这个事最重要的了,不然还不如去搞虚拟磁盘的本地回写更简单.
同样用perfmon测试参数.
性能对象PhysicalDisk,"% Disk Time"计数器
简单的说是磁盘的负载率.超过100%时,读写的延迟就会加大.
Read - Percent cache hits
是滴,回写盘也是需要读数据滴.这个参数的影响可以参照读盘缓存的设置Write - Average bytes per operation
每次写入操作的平均字节数同样也是用来确定写盘缓存页面值的.
Write - Bytes per second
每秒的写入字节数回写流量
Write - Operations per second
每秒钟的写入操作次数回写压力
看看范例服务器的数据,F盘是回写盘.
图形表示: