百度空间 | 百度首页 
 
查看文章
 
最具有权威性的虚拟盘终极教程连载——十年网吧经验6
2009-09-17 17:21
这就是非常典型的内容分级存储的案例.
服务器内存共8G,我们拿出了7G内存用作虚拟盘缓存,游戏放在3个硬盘上,G盘为120G的固态硬盘,H盘和I盘是普通的希捷11代的1T硬盘,安装游戏一共1.8T左右.
根据上面这个图,我们看到了什么结果呢?
1)
7G的内存,产生了平均74%的缓存命中率.就是说,虚拟盘74%的负荷被内存解决了.

2)
放在固态硬盘上的100G游戏,被读取的数据量为86616M,这个数据量是所有硬盘读取数据量的86/(86+22+9)=73.4%

3)
H盘和I,2个硬盘读取的数据总量相加,只负载了整个虚拟盘负荷的7.1%


结论:在这个服务器上,我们成功的利用了2/8原则,7G内存和100G固态硬盘的代价,解决了虚拟盘服务器中93%的负载.93%的数据,有着比本地硬盘快的多的速度,剩下那7%的数据,也拥有和本地硬盘相近的速度. 这就是分级存储的惊人效率!

这个案例非常完美的解决了虚拟盘的速度问题,那么负载能力会成问题吗?


内容分级存储服务器的负载能力


这么一台典型的,采用了分级存储的服务器,能负载多少的机器?
还是采用上面的分析方法,先找服务器瓶颈.
服务器的瓶颈有可能存在这些方面:
1.
CPU

2.
网络(包括交换机,网卡,网线等)

3.
软件(虚拟盘软件,WINDOWS操作系统本身)

4.
各个硬盘

仔细分析一下:
1.
CPU:以酷睿5200这样CPU来说, 在绝大多数时候,CPU占用不超过10%,所以CPU不会成为瓶颈.

2.
网络:前几篇的分析结果至少说明,单个网卡输出50MB/S是没有任何问题的,那么如果流量不超过50M,网卡也不会是瓶颈.如果超过50M,我们还可以通过多网卡绑定,汇聚,分流等方式来解决.事实上我们测试网维大师的虚拟盘服务器上网卡是可以输出90MB/S以上的.所以,网络也不会是瓶颈.

3.
软件:,网维大师在WIN2003上可以输出200MB/S以上的速度(多网卡情况下),同时,网维大师的新虚拟盘可以同时负载上千个连接,所以这个也不是瓶颈.

4.
硬盘:固态硬盘的负载量是SATA硬盘的爱生活 爱顺网,按照SATA硬盘4MB/S的性能,那么固态硬盘性能只要超过4*爱生活 爱顺网=30MB/S,那么固态硬盘就不会是瓶颈.根据前几节的测试,固态硬盘的随机读取能力可以达到100MB/S以上,所以SATA硬盘还是瓶颈.


结论:如果网络没有大问题,如果我用多个网卡分载,那么这个虚拟盘的瓶颈仍然是SATA硬盘,如果客户机不断的增加,在其他部分出问题之前,SATA硬盘已经顶不住了.那么我们就只要计算一下,SATA硬盘在这个案例中的极限负荷能力就行了.

还记得上一篇中,我们计算的传统虚拟盘的负荷能力吧?
单硬盘的负荷能力为18台机器.
这个服务器有2SATA硬盘,,那么就能负荷36.
2个硬盘负荷的数据量为总数据量的7%,那么该服务器的负荷能力为36/0.07=517!
就是说,当客户机达到517台时,2SATA硬盘的负荷能力达到极限.
这还是留了3倍性能余量的结果!
就算是真的达到517台客户机,Sata硬盘到达阀值,受影响的也仅仅是7%的数据,另外93%的数据仍然流畅无比!
,是真的吗?

如果你仍有怀疑,那我们反过来再算一次.看看517台客户机的时候,工作情况是怎样的.

每用户平均流量为75KB/S


那么500台客户机在线时,总平均流量为75*517=38.4MB/S


我们留出三倍余量,突发速度就是38.4*3=115MB/S

那么我们用两张网卡分流就完全可以应付!

115MB/S的流量,内存缓存掉74%,还剩下:115*26%=29.9MB/S


29.9MB/S的流量,固态硬盘分掉73%,还剩下:29.9*27%=8.07MB/S

8.07MB/S的流量,2SATA硬盘平分流量,刚好是SATA硬盘的极限.

现在,我的朋友,您还有怀疑吗?
那么,我再安全一点,考虑到用户太多以后造成的突发情况可能会更大,那我不留3倍余量了,我留5倍的余量,让这台服务器去带300台机器.
就这样,只带300,您放心了吗?您敢带吗?
我敢!我在5月份的时候,在我自己的网吧里,就用这么一台机器带了275台客户机跑所有的游戏!很流畅,很舒服,很安心! 一直到8月底,现在,我有了更好的方案.才把这台服务器换了下来.

这一篇的最后,我们来算个帐,这么一台可以稳定的带300台机器的虚拟盘服务器,装了1.8T的海量的游戏,还能让你的顾客在93%的时间里,都能感受到本地硬盘还要快的速度,这个机器要多少钱呢?


主板:intel3000 (1200左右)


Cpu:酷睿5200 (420左右)


内存:DDR II 2G*4 8G (600左右)


硬盘:OCZ 120G固态硬盘*1 (2000左右)


希捷7200.11硬盘1T*2 (1400左右)


机箱,电源等 (500左右)

-----------------------------------------

总计:6120



一些结论和建议

1.
在我们的方案中,
内存是最最最最最最值得去投资的部分,想要虚拟盘性能好,无论如何请尽可能的加大服务器的内存数量,4G是最起码的,一般达到8G才会开始产生质的飞跃.如果你的老板真的很穷,穷到连8G内存都买不起的话,请告诉他,把服务器机箱卖了吧,宁可让服务器裸奔,也要加满内存!
2.
不要迷信SAS硬盘,把买SAS硬盘的钱换成内存吧!1300GSAS硬盘要1500,把它换成10G内存,效果会好10!

3.
网维大师的虚拟盘程序足够稳定,区区500台机器搞不垮虚拟盘.

4.
除了最热门的100G游戏,其他2T的游戏只要用SATA硬盘就足够了,看见有人用SAS300G硬盘*6的方案,我的心在滴血,为网吧老板滴血!

5.
缓存命中率决定了虚拟盘的速度以及负载能力. 是虚拟盘中最有价值的指标. 命中率取决于算法和内存大小,基于网维大师及其优秀的缓存算法,剩下唯一要做的,还是那件事情:不顾一切的增加服务器的内存吧!

6.
一般建议使用内存+小容量固态硬盘+大容量SATA硬盘这样的组合方式.大家也可以根据自己的喜好来自由搭配.内存和固态硬盘的效果是非常好的,但是既昂贵,容量也有限,我们不可能把所有的游戏数据都放在里面,我们要做的,就是要把最常用的数据放在内存中,次常用的放在固态硬盘里,不常用的数据放在SATA硬盘里.这就是所谓的分级存储管理.


这一篇的最后,我提一个问题吧.
这样的方案已经是最好的方案了吗?
我的答案是:NO!
下一篇,我来讲讲另一种更有意思的方案.


类别:无盘 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu