A-A+

最具有权威性的虚拟盘终极教程连载(共11篇)—-第10到11篇(让你深刻理解硬盘原理和性能)。

2016年10月12日 问题知识 暂无评论 阅读 288 次

点击查看上一篇:最具有权威性的虚拟盘终极教程连载(共11篇)—-第7到9篇(让你深刻理解硬盘原理和性能)

第十篇:<选择合适的服务器>

因为这段时间工作比较忙,所以文章连载持续了半年未能更新,这里先向关注文章的同学们致歉了,大家久等了,闲话就不多说了,继续我欠了半年的方案连载吧!

在上一篇我们看了一个64G的服务器,当时我就说数据拿的不太好,等了几天,我截取了一些新的数据给大家.先来观赏一下:

10051516374ba62c021b2e9d71

这是另外一个服务器,使用了3个希捷1.5T的硬盘.64G内存,然后,所有的游戏均下载安装了,游戏总量约3T左右.这个服务器负载量还是比较大的,一天下来发送的数据达到1千G左右.E盘放的热门游戏较多,大部分数据都从E盘读取的,第一天运行下来,命中率约98%.

1005151638bc92f6d045e8cf4f

这是当天晚上人较多的时候截取的数据,共有248人在线,连接数达到744个.运行情况依然很好,命中率一直维持在98%.发送数据达到1156G,当时读硬盘的总数据量不过30G左右.

1005151639f44fe26f87b0b5ab

第三天晚上的数据

1005151639863fcadc17aa19f8

第七天的数据,共运行6天12小时,发送数据6454G,从硬盘读取数据170G,命中率约98%.

最后看一张最近的运行数据,运行了5天半之后.我们终于看到了惊人的99%的命中率!

10051516400e50cf1702ce9746

发送4000G数据,从硬盘读取67G数据,总命中率98.38%,在数据最密集的E盘,命中率达到99.07%!

好了,言归正传,今天来说说服务器.这块东西比较少有技术含量,更多的是性能,价格,稳定性的综合评判,没有准确的标准,网吧老板的丰俭各有不同,重视程度亦有不同,所以,这个部分只能是作为简单的参考,切勿迷信我的建议,本来并不打算写这块,因为只要理解了上面我讲的思想,剩下的问题就不是技术问题了,是根据实际情况的变通,资金和性能之间的平衡,现实的妥协.但是情况下看到很多人有需求,也会起到一定的指导作用,那就粗浅的提一下吧.
先说明我考虑问题的立场,我本人也是网吧老板,有自己的网吧,又懂得一定的技术,所以我的角度会考虑很多资金问题,我自己采用的方案会尽力避免浪费,但是对于性能的关键部位,我的投入绝不含糊.我愿意投资近2万元去采购64G的服务器,原因就是我认定了,内存大就是王道!

在这个配置中,我并没列出主板与CPU之类的硬件推荐是因为要想游戏快,内存够大就可以了,对于主板的要求就是能支持大内存就好,而cpu则是能主板上能用就行了,所以这里没列出主板和cpu的选择,大家完全可以自己随意配置。

1005151629c36c928c551bf04e

在上面配置方案里,32G或64G的服务器基本上只能用来做虚拟盘服务器,做别的都是浪费。而且速度几乎可以到极致,理论上带多少都行,但是方案也要理论还要结合实际,给大家一个规模数字,相信大家更容易理解和消化!如果客户机超过300台以上的话,在网络上得花点功夫,比如做双网卡绑定才行,否则网络肯定是要吃不消的。

为了挑战下服务器带机极限,我联系到了一个朋友,他也是几家网吧老板,后来和他沟通了下方案的来龙去脉,听的他非常兴奋,因此迅速的采购了一台32G内存的服务器,分别在几家200到300台机器的网吧测试,32G内存的服务器带二、三百台机器简直就是太浪费了,服务器的2块普通sata硬盘基本是没压力的,看到服务器“闲”到如此程度,实在是太浪费了,于是我们又大胆的尝试了他最后一家860台机器的网吧,同样是32G内存,2块SATA硬盘,而且没加SSD硬盘,因为他网吧之前就是用的网维大师,除了中途拷贝游戏时把硬盘拷贝挂掉一块,整体施工过程非常顺利!而且测试效果是非常理想的,服务器运行了两天零七个小时,缓存命中率基本都是95%以上,但是因为机器太多,网络传输压力太大,当网吧上座达到五六百人的时候就会感觉到内网有些延迟,但是看服务器性能是完全没有问题的,只可能是骨干网络顶不牢了,于是直接买了2台支持堆叠并支持自动汇聚的交换机,然后用Intel自带的网卡工具进行了双网卡汇聚,汇聚后的网络带宽为2Gbps理论传输速度为125MB/S*2,也就是250MB/S了,说实话,这么高级的设备我也是第一次用了,2Gbps的速度理论中经常见,这次终于也算有幸见识一次真正的2Gbps的链路效果!
我们为了准确的测试出网络性能,客户机用hd-speed进行了多次连续读取测试,以便让测试数据全部缓存,不受磁盘性能的干扰,而我们也可以通过图片看到,测试时缓存命中率达到了99%,磁盘是100%空闲,而网络传输速度也达到惊人的215MB/S,可以说网维大师虚拟盘的网络传输性能还是比较不错的,大家可以欣赏下图:

10051516311d9a907b19c56174

(此图为网络性能测试,双网卡汇聚可以达到215MB/S的传输速度,已经与网卡理论传输速度不相上下)
其实任何方案做的时候,说的时候都可以说的很华丽,但是用的时候咋样才是最重要的,那么我们就来看下,这台32G内存的服务器,服役情况怎么样,因为平时工作比较忙,晚上空下来的时候抽时间看了下,当时在线680人,游戏全部部署在服务器上,服务器连续运行了两天,读盘一共313G,总共发送数据4684G数据,而2块普通的SATA硬盘,缓存命中率均在94%以上!而通过图片我们也可以看到,当时性能监视器的磁盘负载只有24%左右,可以说服务器轻松的一塌糊涂……

1005151632e856af0ba585d404

服务器运行了4天后,缓存命中率仍然保持在94%,之后最后加上去的1T盘缓存命中60%,主要是因为这块盘上只是放了几个新下的游戏,玩的人也并不多,所以缓存命中比较低,如下图:

1005151633ced3d9900cd75b1e

那么至于服务器配置大概就这几类,再多的不见得有什么意义,只要大家认真看过以上的文章,相信大家自己配置服务器完全没什么问题,如果你实在是不愿意浪费眼细胞,再多看几遍的话,就按照上面我给出的配置去配也没什么问题,不过最近内存价格实在是涨的太离谱了,2G DDR2 800要330左右一条,单条4G
667 ECC服务器内存要900块左右,如果配置一台32G内存的服务器,只是内存就要花去7200块大洋了,虽然大内存效果非常明显,但是考虑到性价比问题,因为每个老板对投资大小的接受程度不同,选择也要适度,因为并不是所有网吧都要配置32G内存的服务器的,如果是100台机器的网吧,8G内存+2块SATA就够了,100-300台机器的网吧用8G内存+一块SSD硬盘+2块SATA硬盘也可以,如果是400台机器以上的网吧,想必花2w大洋买台高性能的服务器应该也不会太困难,毕竟让顾客玩的爽了人家才愿意来你网吧消费!有人消费了难道还怕服务器投资赚不回来吗?
要知道这样一台服务器可以给顾客带来飞一样的感觉,就算服务器质量再烂,用3年也是没问题的,如果一个400台机器的网吧,购买这样一台服务器,3年的成本1.5w块钱,平均每天每台机器多赚4毛钱成本就肯定回来了,这点投资都可以给顾客带来飞一样的感觉了,每台机器每天多赚4毛钱我想是不会有任何难度的了。

好了,写到这里,我想大家认为游戏虚拟盘方案应该是完结了,但事实上还有有一部分没有些出来,那就是无盘,因为前面我们就提到过无盘也是虚拟盘的一种,那么将虚拟盘方案怎么能少了无盘呢?
通过对方案的了解,游戏虚拟盘部分可以通过服务器添加大内存方式来解决负载能力,那么对于无盘,这个系统的虚拟盘来说是否也可以通过这种方式来解决负载能力呢? 敬请期待!

下一篇:另外一种虚拟盘——无盘

(未完待续)

第十一篇:<另外一种虚拟盘——无盘>

估计大家看到本章的标题有点疑问或者不解,无盘就无盘呗,干嘛还加个“另外一种虚拟盘”?难道是故弄玄虚?其实不然,那么首先希望大家不要误会,我不是来讲有盘好还是无盘好的问题,因为在我看来只要你能做好,有盘无盘都一样,之所以和大家讲无盘就是希望能通过我的讲解让大家能够像了解虚拟盘一样,来了解无盘,从而能为网吧提供更全面的服务,因为最初我就说过了,任何技术,工具都是为网吧的经营而服务的,所以说只要你能用你的技术协助网吧从技术层面提升网吧的经营业绩,你用啥,老板不会去管的,当然我的这些说法可能也会很多人不认同,不过没关系,因为技术的讨论本来就是博弈之后达到统一认知的过程,如果你感觉我说的对,那就多多支持,如果感觉说的不对,提出鄙视,我也接受。
既然虚拟盘我们已经有解决方案,那么下面我就再来谈下如何在网吧用好无盘这个方案,接下来的文章会从以下几个方面展开!
1)无盘的一些名词解释。
2)虚拟盘和无盘的差别。
3)无盘的回写到底有多大。
4)硬盘的写入性能分析。
5)如何解决无盘的回写压力。

一、无盘的一些名词解释。

为了方便后面详细讲解无盘的一些问题,首先让我们来了解下无盘的一些名词含义。
1、PXE: 它的中文翻译是“预启动执行环境”,我们这里可以理解为是网卡的一种功能,而我们表面上看到的现象就是网卡支持网络启动,比如过去无盘使用的网卡都会带一个BootRom的插槽,如果插槽里插入一块启动芯片后,就可以网络启动了,而这也是无盘必须环境要求。不过随着技术的发展,现在主板集成的网卡都会支持这个功能。
2、DHCP:它的中文名叫“动态主机设置协议”,而他的作用就是为客户机分配IP地址,而我们平时在做无盘时,在客户机输入客户机的IP和计算机名,就是为了确定这台机器的IP地址和(MAC)网卡地址对应关系。
3、TFTP:简单文件传输协议,是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。我们可以看到的典型应用就是在弄网络GHOST的时候用到的tftp32,实际上就是个TFTP服务器,用在无盘上时,主要是为了传输客户机的网卡驱动以及其它一些系统启动文件。
4、PNP:它的中文名称叫做“即插即用”,而在无盘上来说实际上就是为网卡添加一个支持网络启动的驱动文件,而我们在做无盘系统时,经常发现系统启动时XP滚动条,有的网卡滚动条就半圈,有的网卡要两三圈,甚至更多,实际上就和PNP这个过程有关系。
5、回写:因为无盘客户机是没有硬盘的,所以顾客在使用的过程对系统或游戏所做的添加,删除,修改,都会临时写回无盘的服务器上,而这个将数据写回服务器的过程就叫做回写,存放这些回写数据的硬盘就叫做回写盘了。其实虚拟盘同样存在回写,只是这些文件都写在本地硬盘了,因为量比较小,我们基本感觉不到,所以,一般提到回写只存在于无盘上。

二、虚拟盘和无盘的差别。

因为之前我们就说,无盘只是另外一种虚拟盘而已,可能有些人还不太相信,那么问问我们的网管,无盘和虚拟盘的差别到底是啥?估计得到的答案也是不尽相同,那么虚拟盘到底和无盘有什么不同?我是这样来理解的,从虚拟盘和无盘的作用和工作流程来区分,主要存在以下不同。

10052721466119506d66ac0116

通过这个对比我们可以很容易看出无盘和虚拟盘的差别,比如系统启动部分虚拟盘是不需要这个过程的,因此我们可以得出一个初步结论,无盘和虚拟盘的主要差别,就是在是否支持系统启动。支持系统启动的虚拟盘就叫无盘了。而这种虚拟盘解决的问题之一就是系统启动。

接下来我们再来看下无盘和虚拟盘在使用阶段有什么不同,在客户机正常使用阶段,无盘和虚拟盘相同的部分是数据读取部分,而唯一存在差别的地方就是写入数据,因为虚拟盘在过去主要是应用在有盘网吧的,而在有盘网吧客户机本地也是有硬盘的,为了减少虚拟盘服务器的压力,虚拟盘不允许客户机向虚拟盘写入任何文件,同时对于客户机来说,往虚拟盘写入数据的几率并不是非常大,数据也不是非常多,所以向虚拟盘写入数据时,都会写到客户机本地硬盘里,而网维大师虚拟盘就是将写向虚拟盘服务器的文件,直接写到客户机的D盘。

但是这个数据写入过程在无盘上就变的麻烦了,因为这个写入数据的量是完全不一样的,一般顾客上机1天,可能对虚拟盘的写入也不会超过200MB,但是对于无盘来说这个数据写入量将会放大十倍,甚至几十倍,同时对于无盘的回写来说并不是数据写到服务器上就完事了,可能还会有相当一部分会再被客户机读出来使用,而且回写的这些数据多半是细碎,无法像虚拟盘一样进行缓存的,而这就是无盘这种虚拟盘解决的第二个问题——回写!

三、无盘回写到底有多大?

为了能深入了解无盘的压力到底有多大,我拿自己的网吧做了一个万恶的测试,这个网吧有110台机器,网吧的顾客群体主要是学生,上班族,民工,以及一些组团电影族,可以说是顾客群体比较全面,但是因为种种原因,目前网吧的上座率并不是不高,平均每天上座率大概在60%左右,所以我们暂且把这个网吧理解为60台机器满座好了。

之所以说这是个万恶的测试,是因为我为了模拟最古老的无盘环境,无论是服务器还是客户机都设置成了0缓存,因为开始服务器准备不充足,一台1读3写的服务器带所有机器,结果上达到50几个人的时候就开始出现偶尔的秒卡,甚至大卡,开机慢,游戏进入速度慢问题。后来又临时加了一台同样的服务器,才得以让让这些现象消失,并完成这次测试,为了避免周六周日造成的数据影响,我连续测试了一周,测试数据如下:

1005272148eddec0e017586fef

(服务器运行一周的截图)

在测试的一周里,通过计费软件统计,这一周里所有的客户机平均每天上机759小时,平均每天上机169人次,通过上图我们看到,在这一周里,所有客户机一共向服务器回写了3221G数据。平均到每天是回写460G左右,如果再平均到每台客户机的话,每台客户机每天将会向服务器写入约7.7G之多的数据,这个数字对于有盘来说简直是小菜一碟,但是对于无盘来说可能就会出现致命的问题,比如之前我说的,秒卡。而这个回写量只是在60台机器的网吧产生的,如果是100台机器的网吧,每天将产生770G的回写量,200台机器的网吧每日将产生1540G回写,当你的网吧规模达到500台机器时,客户机每日的回写量将达到3850G之巨!那么为什么会产生这么大的回写?其实原因很简单,因为客户机没有硬盘,客户机在使用过程中产生的一切数据都要写到服务器上,比如电影,下载mp3,游戏读下来的数据,游戏更新不及时产生的游戏更新问题等等,而我刚好遇到了一个关于游戏造成的回写问题。

10052721496af339f222439dad

这就是我网吧的留言板,有个顾客在我网吧玩了好久终于忍不住留言了,他说:

帮忙下一下(勇士OL)谢谢,要么每天来都要花30分钟下载这个游戏,谢谢了!

我看到这个留言后说实话,感觉是有点晕的,因为我到这个游戏的官方网站看了下,这个游戏安装包是729MB,安装完成后2308MB,在这个过程中,下载这个过程就是纯回写,而安装这个过程就是读取+写入的,因为安装包就是回写的数据,当安装包解压时,肯定是要把之前写入的数据再拿回来用,所以这组可以证明我们之前说的,无盘的回写中,是读写并存的。而这只是这一个顾客因为没有这个游戏就要产生3037MB的回写,从留言上来看,他一个人每天就可以产生这么多回写,如果再往细了说,安装包肯定不是最新版本,安装完了还要自动更新一下,产生一定的回写,下载安装过程太慢,他再看看电影,下下mp3,那就真有的搞了,所以说,对于无盘网吧你可千万把游戏搞多一点,最好把顺网游戏中心的3500G游戏都下载下来,否则太恐怖了!

好了,有点扯偏了,那么通过以上的数据我们可以看出,无盘网吧的回写量确实蛮恐怖的,我不知道大家如何看待这个数据,至少在我没仔细观察过之前,我确实不知道会有这么多回写。现在我们知道产生回写的一些因素,那么我们排除掉这些特别因素之外,还会有哪些回写数据产生呢?带着这个疑问,我又做了一个测试,我测试了一下一些比较热门的游戏,还有xp启动这些网吧必备应用的数据,那么看似不起眼的一些应用,将会产生什么数量级别的回写呢?让我们一起看一组数据!我们的测试环境是这样的:主板P31 内存2G CPU:E2180显卡9600GT。
以下测试均是进入到游戏画面后,为了等待回写完全结束,均等待了5分钟后的回写数据,测试数据如下。

1005272151592c053d98503a4e

从上面的数据我们可以看到,PPlive的回写量名列前茅,启动PPlive只需要读16MB的数据,但是启动好后产生的回写却达到了400多MB,而导致PPlive会产生如此多的回写数据的原因是,它每次启动都会产生一个512MB的缓存文件,所以才会产生这么多的回写,那么虽然PPlive会产生如此多的回写,但是因为他比较占带宽,很多网管都把他给禁止掉了,而且也并不是每位顾客都会去看PPlive,所以对于PPlive的问题我们暂且搁置不多说。那么让我们看下顾客上机必须用到的应用有哪些!

1、XP启动:要上网,系统总是要开机的,通过上面的数据我们会看到,XP启动一次,读取数据209MB,而写入数据却达到了130MB左右,说到这里肯定有同学要说了,你系统做的太烂了,回写竟然这么多,其实对于纯净的XP启动造成的回写确实很少,大概在50MB~80MB左右,但是当你安装好各种软件后,回写量基本可以达到这个级别,不信的话大家自己都可以测试下!
2、QQ2010“在我观察到的情况,几乎99%的顾客在上机后,第一件事肯定是登陆QQ,我们也可以看到QQ2010版本启动后会读取113MB,而回写却有136MB,而且我只是登陆QQ而已,并没再做其他任何操作。
3、结账下机后造成的垃圾回写,我相信绝大多数的网吧,顾客下机后的操作方式一定是,结账后自动重启:

1005272152f2c5b0004449bd1c

(结账下机操作)当我们看到到这里,基本上不需要再看其他的数据了,因为只是XP启动,和QQ这两个顾客上网100%都会用到的操作,就足以产生非常巨大的垃圾回写了!而对于游戏也好,PPlive也好,毕竟不是每个顾客都会去用,实际上我们只要去解决xp启动和QQ的回写,就可以很大程度降低无盘的回写压力了,那让我们看下这些操作一共会产生多少回写。顾客一次完整的上机包含,开机,上QQ,结账下机后客户机自动重启一次,在这一次完整的上机过程中,一台客户机将会产生:开机产生的130MB回写+启动QQ产生的130MB回写+顾客下机后,客户机再次开机产生的回写130MB=396MB。我们之前的测试数据是,所有客户机平均1天的回写量是460G,平均每天的上机次数为169次,那么在这一天只是顾客上机一次的回写就达到396MB*169次≈65G。而在一天中,顾客上机产生的回写量就要占总回写量的14%左右。同时有些无盘网吧的维护人员,或者是有盘刚开始做无盘的技术人员,为了避免少开超级用户,或者习惯了有盘的维护方式,会采取一些开机命令更新,安装软件之类的操作,而这又无意造成了多余的回写!所以说在无盘网吧里,这个结账后的操作一定要设置成关机,同时尽量少使用开机命令以及开机安装软件来减少无盘不必要的回写。

四、硬盘的写入性能分析

那么如此之多的回写数据在过去都是要回写到服务器的硬盘里的,那磁盘在这种应用环境中的性能是怎样的呢?之前我们已经说过,对于无盘的回写盘来说,不只是单纯的写那么简单,还会有一定量的读取数据,比如之前提到的顾客自己下载游戏的例子,顾客下载了一个游戏安装包,这个下载过程就是100%的回写,然后他再安装游戏时,就是读+写的过程,那么这个读取与写入的比例是怎么样的呢?在这种读写比例下,磁盘的写入性能又会是怎样的呢?为了得到这个数据,我用硬盘哨兵对回写盘的读取数据进行了监控,先给大家简单介绍下硬盘哨兵这个软件吧。

1005272155bcc04454ef16eacd

这个软件可以监控硬盘的温度,以及硬盘的健康状况,比如是否有坏道等问题他都能告诉你,可以说是个非常不错的小工具,推荐大家使用。我用这个软件监视了一下回写盘中,写入后又读取出来的数据量,由于这个软件无法总览数据,所以只能把所有服务器,所有硬盘的数据累加起来再进行统计,一周下来发现总的数据读取量为1351G左右,也就是在所有的回写数据中有1351G的数据又被客户机再次读回来使用,结合我们之前得到的3221G的写的数据,可以得出读和写的比例大概是3:7左右。

那么传统无盘在这种读写比例情况下,就不能只是考虑磁盘的写入性能了,而是考验磁盘同时读写的性能,也就是IOPS(每秒同时输入输出)的性能了,因为对于一块回写盘来说,他不只是要写入数据,写入的过程可能还伴随着其他客户机的读,不过好在的是,如今的无盘技术已经可以很好的缓解这种压力了,因此在今天我们就不再需要去考验IOPS性能,而是只要根据磁盘的写入或读取性能即可评估出回写盘的性能了下面我们一起来看下在无盘中视为“神器”的SAS和其他存储介质的一些测试数据。

参与测试的介质一共有3种,我们一样继续按照写入性能来排序,分别为: 1.5万转的 SAS盘,1万转的迅猛龙硬盘,7200转的SATA硬盘。看到这里可能有些同学会问,为什么这次对比没有SSD硬盘?
因为SSD虽然读取和写入性能都很快,但是因为固态硬盘的写入寿命是累计写入47TB数据就会挂掉了,根据我们之前的数据一周写入3221G数据,一块MLC的固态硬盘最多就能用15周,也就是105天左右,同时还因为固态硬盘的容量比较小,而且造价较高,完全不是适合无盘回写这种环境下使用,所以此次测试没讲SSD列入测试范围。

1005272218481ab24f9c598a26

西部数据 150G 迅猛龙

10052722198433bfc46ab340ba

普通的西部数据500G硬盘

1005272219b45aba6137af466a

对比数据如下:

1005272220b5781d394f4e481f

1005272221f8321e3d94d425d6

看到这里估计大家会有疑问,为什么同样是机械硬盘,随机写入速度会被随机读取速度快?其实这个答案很简单,因为磁盘是有写入缓存的,但是并没有读取缓存,所谓的磁盘写缓存就是我们平时买硬盘时提到的16M,32M,或64M缓存的硬盘,而这个缓存就是为提升磁盘的写性能而提供的,因此磁盘的随机写入速度会高过磁盘的随机读取速度,但实际上并不是缓存越大就越好,因为对于硬盘的回写缓存来说,一样存在着算法的问题,如果算法不够好,缓存越大,可能速度越慢!同时通过设备管理器->磁盘驱动器右键我们可以看到写缓存的存在,如下图:

1005272221052e618faf0d0da7

当你将“启用磁盘上的写缓存”的勾取消掉之后,随机速度就会与随机写速度一样了,这里就不多说了,大家只需要做个了解就好了。

因为之前我们得出一个结论,那就是回写盘上的的工作环境不只是100%单纯的写,而是读写比例为3:7的情况,那么回写盘在这种读写比例的时候,数据的读写一定是随机的,而不是连续的,因为即便单台客户机是连续写入,当多台客户机同时写入时,也就变成了随机写入。那么几种硬盘在随机比例为3:7的情况下,性能是怎样的呢?让我们再来看一组测试数据。

这个测试我是用iometer进行测试的,因为只有这款软件才能按读写比例进行速度测试,测试条件为100%随机状态下,30%的读取,70%的写入,测试截图如下:

15000转 SAS硬盘。

10052722224b181d3b8aca32ee

10000转迅猛龙硬盘

1005272223fe85e7900ebd2fd2

7200转SATA硬盘

1005272223258669e38056f68a
为了方便我们对比,我把以上数据做成了图表。
100527222414173738d01ed483

10052722250b24d0af2aa86ae1
综上,100%的完全随机写入速度都是比较快的,但是只要加入一定量的随机写读取,那么硬盘的写入性能就会下降,无论是15000转的SAS盘和10000转的硬盘速度相差还是比较大的,如果为无盘选择回写盘,如果只根据性能来选择肯定是首选SAS,其次迅猛龙,除非非常小的网吧才能选择SATA盘了。

那么Raid是否对回写有帮助呢?让我们看一组简单的数据:
迅猛龙单盘随机写入:

10052722255dd20cab71359eae

3块迅猛龙组Raid0随机写入:

1005272226c252cb549eb89650

Iometer单盘100%随机写入:
10052722274d6a5126baa28755

Iometer 3块迅猛龙组Raid0随机写入:
1005272227c4707919a4519386

30%读,70%写,单块迅猛龙:
100527222835892c4735ef570d

30%读,70%写,3块迅猛龙组Raid0
1005272229dc059ea4090e44ff

速度对比如下:

100527223056f5b8b5077a0175

IOPS对比如下

10052722306d147c4402fb94ee

从上图我们可以得出一个结论,那就是Raid对于回写盘来说有一定的价值,同时又因为传统无盘只支持一个设置一个回写分区,因此在传统无盘上无盘的回写大家都会去做Raid,但现在已经越来越多的无盘厂商开始支持一种分盘回写的一种模式,比如100台机器,有3块回写盘,那就是1-30号机器用A盘,31-60号用B盘,61-100用C盘。其实大家都来支持分盘回写一定是有原因的,而这个原因从测试数据中我们就可以得出。
以例子中的迅猛龙硬盘来说,1块盘的随机写入速度为9MB/S,那么如果组了Raid后,你会发现他的随机写入速度仍然只有13MB/S,那么如果我们3块单盘,使用分盘回写的方式,这三块盘的回写负载能力将为9MB/S*3=27MB/S,而如果组成Raid就只有13MB/S,将近损失了50%多的性能,所以对于无盘来说,我们一样不建议大家组Raid,同时不组Raid还有以下好处:
1、性能提升,随之而来的就是带机量提升。
2、如果一块回写盘盘坏了,不至于所有机器都无法使用。
3、扩容变的简单,压力大了,大不了加一块硬盘上去就搞定了。
4、设备更换简单,组Raid必须为磁盘型号,大小,速度一样才行,而分盘负载不存在这种要求。
5、成本下降,不组Raid时,阵列卡不需要了,即便普通SATA接口万转硬盘即可胜任,不一定非要用SAS盘了。

五、如何解决无盘的回写压力

那么从文章开始到现在,我们已经取得了很多非常有用的数据,那现在让我们来总结下根据这些数据我们都可以得出哪些结论:
在测试的一周中,所有客户机平均每天的回写量约为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台。
screenshot2016-10-12-1

那么在与回写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 10000转 *3(2850左右)
机箱电源:500(左右)
总价:5900左右

另外大家可能会奇怪,为什么这套配置里没有游戏盘,因为之前我们就说过了,无盘最擅长的肯定是解决无盘网吧的系统和回写,而游戏用虚拟盘来解决就可以了,而这就是本方案的最大亮点!

方案写到这里,基本上就要暂时告于段落了,那么再最后我还是要和大家说的一句话说,有盘也好,无盘也好,只要你用的好,那就都好,如果用不好谁都不好,而对于选择什么完全是网吧老板自己的想法,而我们的技术最终都是要为了网吧经营而服务的,如何通过技术来满足网吧顾客的需求,才是我们真正需要追求的,方案讲到这里后,我相信技术能为网吧提供的一些东西就都已经讲完了,因为你会发现,无论是系统,还是游戏我们都已经有了接近较为完美的解决方案。

最后感谢大家对这篇帖子的支持,也正因为有大家的支持才得以让这篇文章继续下来,虽然持续了很久,但最终还是写完了,而今天,我宣布,终极虚拟盘方案到今天正式连载完成!谢谢大家的支持!

衷心的祝愿天下网吧的生意能越来越红火,谢谢!

站长注:这篇文章是2009年9月死性不改历史3个月完成的一篇大作,很多硬件或设备现在已经日新月异,理解原理即可,请勿吹毛求疵。

万豪棋牌手机版技术交流群

给我留言

<meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name= <meta name=

Copyright © 万豪棋牌手机版 保留所有权利.   联系站长 万豪棋牌手机版技术交流群 托管于阿里云 冀ICP备12002422号-3

用户登录

分享到: