查看文章 |
最具有权威性的虚拟盘终极教程连载——十年网吧经验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台机器. 这个服务器有2个SATA硬盘,,那么就能负荷36台. 这2个硬盘负荷的数据量为总数据量的7%,那么该服务器的负荷能力为36/0.07=517台! 就是说,当客户机达到517台时,2个SATA硬盘的负荷能力达到极限. 这还是留了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的流量,2个SATA硬盘平分流量,刚好是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硬盘的钱换成内存吧!1个300G的SAS硬盘要1500块,把它换成10G内存,效果会好10倍! 3. 网维大师的虚拟盘程序足够稳定,区区500台机器搞不垮虚拟盘. 4. 除了最热门的100G游戏,其他2T的游戏只要用SATA硬盘就足够了,看见有人用SAS300G硬盘*6的方案,我的心在滴血,为网吧老板滴血! 5. 缓存命中率决定了虚拟盘的速度以及负载能力. 是虚拟盘中最有价值的指标. 命中率取决于算法和内存大小,基于网维大师及其优秀的缓存算法,剩下唯一要做的,还是那件事情:不顾一切的增加服务器的内存吧! 6. 一般建议使用内存+小容量固态硬盘+大容量SATA硬盘这样的组合方式.大家也可以根据自己的喜好来自由搭配.内存和固态硬盘的效果是非常好的,但是既昂贵,容量也有限,我们不可能把所有的游戏数据都放在里面,我们要做的,就是要把最常用的数据放在内存中,次常用的放在固态硬盘里,不常用的数据放在SATA硬盘里.这就是所谓的分级存储管理. 这一篇的最后,我提一个问题吧. 这样的方案已经是最好的方案了吗? 我的答案是:NO! 下一篇,我来讲讲另一种更有意思的方案. |
最近读者: