本帖最后由 network 于 2010-11-9 02:06 编辑
无盘中的回写盘的意义不用多说,虽然现在各软件对回写的依赖极度减轻,但是回写负荷的情况还是屡见不鲜。
另外对于一块回写盘的把握,就是其能顶的住什么样的负荷,或者通俗些能带多少台机器?
我们一起看一看。
我们已经取得了很多非常有用的数据,现在让我们来总结下根据这些数据我们都可以得出哪些结论:
在测试的一周中,所有客户机平均每天的回写量约为460G,通过计费软件显示,每天上机时间为759小时,那么此时我们就可以得出:
每客户机每秒向服务器写入数据的平均速度为(460G*1024*1024)/(759H*3600)=177KB/S,但是因为是在无任何缓存情况下进行测试的,为了避免回写速度突发,导致卡机问题,因此我们需要为回写盘预留三倍性能余量,也就是177 *3=531KB/S。
接下来让我们算下回写盘的负载能力大概是怎样的。
一块SAS盘的极限带机量约为:11*1024/177=64台,预留三倍性能余量后可带机64/3=21台,三块回写盘大概带机63。
一块迅猛龙硬盘的极限带机量约为:9*1024/177=52台,预留三倍性能余量后可带机52/3=17台,三块回写盘大概带机54台。
一块SATA硬盘的极限带机量约为:6*1024/177=35台,预留三倍性能余量后可带机35/3=11台,三块回写盘盘可带机35台。
以SAS盘为例,在客户机和服务器都没缓存的情况下,1块盘只能带机21台,那么如果100台机器就需要5块硬盘,200台机器就需要10块回写盘,当机器台数达到500台时,就需要100块回写盘才能搞定,这实在是太夸张了,平均1台服务器放4块回写盘,按照这种负载能力,我们将需要25台服务器才能搞定……且不说投资问题,就连管理也是给非常麻烦的事,那对于现在的硬盘用将采取什么样的技术方案来解决无盘的回写问题呢?
结论就是本地回写缓存!
先来了解下本地回写缓存的概念:所谓本地回写缓存,就是将客户机物理内存拿出一部分做客户机的“回写盘”,而这部分缓存只能作为回写用,客户机是无法使用这部分缓存来做其他事的,因此我们在设置本地回写缓存后会看到一个现象,比如你是2G内存,设置了512M的本地回写缓存,那么系统开机后的内存占用就变成了系统自身的内存占用量+512MB的样子。
我们既然说本地回写缓存可以有效解决无盘的回写问题,让我们来看下本地回写缓存到底能解决哪些问题?
1、XP启动的回写可以消灭。
2、启动QQ的回写可以消灭。
3、玩一些游戏时,基本在玩1-3个小时都不会向服务器产生或写。
4、无盘的回写基本不再需要考虑突发导致的卡机。
如果本地回写缓存再有一些好的算法的话,还可以继续优化回写的问题,那么我们架设本地回写缓存没有任何算法时,可以解决多大的问题。
接下来让我们按照之前的一个公式来计算下客户机回写缓存的作用,目前市面上一些新的无盘支持的回写缓存大概为32MB~1.5G左右,让我们看下这些本地缓存能解决多大的问题:
以我们的测试环境为例,这个60台机器的网吧,每天回写数据为460G左右,平均上机人次在169次左右,平均上机时间759小时,我们假设这些缓存全部用完的情况下,可有效减少回写量多少G,计算公式为:
例如:
512M的本地回写缓存可减少回写多少G
上机次数169次*本地回写缓存大小512M*1024=85G
有了512M缓存时,客户机的回写量G
平均一天的回写量460G-缓存可减少的回写量85G=375G
求出平均回写速度,因为客户机有了缓存,所以可以排除突发速度造成的影响。
512M缓存的回写量375G/(上机时间759*3600)=144KB/S
得出结果。
SAS回写盘3:7比例的随机读取速度9MB/S*1024/144KB/S=单块SAS盘带机64台。
客户机内存容量与回写盘“单盘”带机量
客户机内存
SAS
迅猛龙
SATA
1GB
60台
50台
30台
2GB
70台
60台
40台
3GB
100台
80台
50台
4GB
140台
110台
70台
那么在与回写460G的数据相比之下,如果你的本地回写缓存达到1G以上,那么服务器压力就已经变的非常小了,如果客户机可以有1.5G的本地回写缓存,无盘服务器将会出现0回写!当达到0回写时就意味着,无盘上的回写问题已经不复存在,即便是有,我们也可以忽略不计了,因为造成这么多回写的人一定是看电影或者下载软件的人,那么我们完全可以通过路由对客户机限速,来解决他们短时间造成大量回写的问题!
我想到这里结论已经变的非常简单了!
对于无盘来说,解决回写问题的方法不再是服务器加大内存,因为即便你服务器加到32G内存,60台客户机的话,平均每台客户机最多就分到600MB,而32G,按照我们的计算方式,600MB可减少回写600*169/1024=99G的回写,而相对每日460G的回写量,仍然是杯水车薪,而一个60台机器的网吧,就让老板投资一台32G内存的服务器来解决无盘的回写问题,性价比差距就太大了,如果是把钱投资在客户机内存上,现在DDR 800 2G内存也就320块,买60条加上造价也就1.9W,而一个32G的的服务器也基本这个价格了,但是如果这个钱花在客户机上将会是什么样?
1、服务器投资下降,百台客户机6k上下的服务器就可轻松搞定。
2、如果客户机内存4G内存,服务器回写盘全部普通sata硬盘即可,只要网卡不成为瓶颈,理论上带多少机器都行。
3、游戏游戏虚拟盘缓存方案,本地客户机缓存方案,那么客户机的速度基本就等同于网络的最大传输极限速度,让无盘网吧的卡机现象彻底消失。
五、选择合适的服务器:
当我们了解了本地回写缓存的作用后,其实对于服务器的回写配置已经变的非常简单,因为过去的硬件环境比较差,几乎所有的压力都要由服务器来承担,那么现在客户机环境逐渐转好了,其实客户机已经可以分配很大的服务器压力,所以服务器配置也不再像过去一样2w多块的服务器只能带100多台机器。
不过这里和大家要说的是,即便是服务器带机量上升,也不推荐大家用一台服务器带太多机器,单服务器带机控制在120~160这个范围就已经很高了。如果你非要用一台服务器带个2,3百台机器,估计网吧老板也不会允许的,因为这个太恐怖了,毕竟那么多机器的硬盘钱都剩下了,多投入个1,2台服务器不再是问题,而我们作为维护人员,更不应该去拼带机数是怎样的,因为我们要解决的问题很简单,让客户机稳定运行,让网吧游戏多一点,然顾客坐下来就可以玩到自己喜欢的游戏,而且玩的很流畅就可以了!
因此对于无盘来说,我们只需要一种服务器配置就够了,而这台
服务器4G内存情况下可带机120左右,如果服务器内存加到8G,根据我个人经验最高单台可带机到180左右,但是再高的话网络就顶不劳了,所以基本上这一种配置就可以搞定全部了!
60台左右机器的网吧。
主板:Intel S3200SH(1150左右)
内存:4G DD2 8G(660左右)
CPU:E5300(410左右)
硬盘:SATA 500G 7200转 *1(330左右)
回写盘:迅猛龙 150G 转 *3(2850左右)
机箱电源:500(左右)
总价:5900左右
本文摘自网吧三国,转载请注明出处!
另外大家可能会奇怪,为什么这套配置里没有游戏盘,因为之前我们就说过了,无盘最擅长的肯定是解决无盘网吧的系统和回写,而游戏用虚拟盘来解决就可以了,而这就是本方案的最大亮点!
|