当前位置:文档之家› 锐起无盘服务器supercache的设置方法

锐起无盘服务器supercache的设置方法

锐起无盘服务器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盘是回写盘.图形表示:数据表示(平均值):虽然读取缓存命中率是100%,从流量和iops可以看出读的压力很小.忽略这100%.写操作的iops也才8,流量还不到1MB/S,压力很轻.磁盘的操作时间也才5%,负担很小.这是范例服务器的回写盘F:的supercache的设置:大多参数可以参考读盘的设置.页面值32KB,主要是考虑到缓存大道快2GB的情况,额外的内存花销太大,所以没选择4KB.4KB和47KB差太多了,内存很多时读盘可以无视每次操作的平均字节数,写盘可不行.64KB又太浪费,而且印象中以前supercache2不推荐超过32KB 的页面值,supercache3倒没这个提示.综合一下就设置32KB了.在考虑好系统空闲内存(通常是25%,这个很重要不要嫌我烦)后写盘缓存应该尽量大.这个和读盘的缓存不一样,读盘缓存太多了是浪费,回写盘的缓存多了可以避免突发流量增大.回写盘排序只能用MFU.不然几乎没有排序效果.回写盘的"延迟回写模式"肯定是要开的,但不要开无限延迟写入.延迟时间是可以大致算出来的,在高峰期时"缓存大小/传输流量",得到的是读写塞满缓存时的时间.如果这个时间小于15s那就再缩小点填入,如果大于15s要么填15s要么就随便咯.千万别太大.比如我那台服务器高峰期最大流量大概还不到3MB/S,2000/3那要进10分钟才能塞满缓存,可我也才设置20s.脏页(缓存里的延写数据)太多服务器关机都慢.无论怎么设置,请以磁盘时间("% Disk Time")来判断磁盘负载是否降低.同时也要注意读取缓存的命中率通常应该>60%.示范服务器当时的性能:以下说明皆摘至SuperCache官方网站里(/servers/scsv-server_release_notes.htm需翻墙)的发行注解,我很勉强地靠查字典翻译的.平时国内网站并没多做说明的地方我用蓝色的字标明.SuperCacheIII配合锐起的使用方法我会随后再发.如果我下完Tokyo Hot后还有时间的话...有翻译上的问题请发邮件至ywwzjay@如果支持就到这顶我吧,除了Tokyo Hot,我看得到你们的支持也让我乐和乐和~嘿. /234815421/blog/1254850625转贴请附上以上信息(=_= 我是贪慕虚荣D淫Cache Tuning缓存优化The various resources in a computer system –processors, buses, memory, controllers and adapters, storage devices, network interfaces, software, etc. –are all factors which determine the rate at which a given task may be executed. Most system resources are shared by the many different software components that are required to execute a task. For example, processor time, system memory, and storage devices must be shared by the operating system kernel and its drivers, operating system services, and other services and applications.计算机系统的各种资源---比如处理总线内存控制器和适配器存储设备网络接口软件等--- 这些因素决定了一项任务的执行效率.当执行任务时大多数系统资源需要被各种各样的软件组件共享.例如,处理器时间系统内存和存储设备会被系统内核系统驱动系统服务和其他服务应用程序所共享.Balancing the use of system resources so as to maximum system performance is system performance tuning. Much of this tuning is realized automatically by the operating system. However, the operating system provides many parameters that can be modified to improve overall system performance, according to the applications or services being executed. (See Microsoft's Web site for Windows Server 2003 or Windows 2000 server editions performance tuning.)均衡调整各个系统资源的使用让系统性能最大化,这就是系统性能优化.系统性能优化的调度大多是由操作系统自动完成的.然而,操作系统也提供很多优化整体系统性能的参数,你可以根据程序和服务运行的状况手动调整.(具体内容可以到微软的网站查找Windows Server 2003或Windows 2000服务器版本的性能优化)SuperCache and SuperVolume improve system performance when storage resources are over-utilized compared with system memory and processor resources. However, memory and processor resources must be shared among many system components, as described earlier. It is the responsibility of the systems engineer or system administrator to balance the use of these resources in order to optimize system performance.如前面所说,处理器内存等系统资源共享于各个系统组件,当存储设备是所有系统资源的瓶颈时,SuperCache和SuerVolume可以改善系统性能.通常是由系统引擎或者系统管理员调整这些资源,优化系统性能.SuperCache and SuperVolume feature a variety of parameters to assist in system performance tuning. Each parameters is described below, along with recommended settings.SuperCzche和SuperVolume的各个参数对系统的影响以及各个参数的描述以及设置建议都如下表.。

相关主题