版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
管理信息化VR虚拟现实转载最具有权威性的虚拟盘终极讲义连载[转载]最具有权威性的虚拟盘终极教程连载[天若有情]说到虚拟盘本身,相信很多的网管兄弟已经熟的不再熟了,现在的网吧,几乎每个网吧都会使用虚拟盘,但是如何用好虚拟盘,把虚拟盘真正的实力发挥出来呢?据我到全国各地网吧观察到的情况,其实能达到理想效果的网吧仍然是非常少见的.我本人从2001年开始进入网吧直到现在.弄过的网吧也有几十家了,现在虽然因为工作太忙,网吧不太去了,但是还管着一大一小两家网吧,琢磨这些东西也能有点年头了,有一些小小的心得,丢出来和大家一起探讨一下,认为我说的有道理,就给点掌声,认为我在胡扯,那就丢点烂西瓜臭鸡蛋什么的.也许有些观念和您以前的认知完全相反,也许你完全不能认同我的观点,没有关系,大家一起来讨论吧!第一篇:<虚拟盘的价值>所有的网吧工具和软件,都是为网吧管理而服务的,并最终为网吧生意服务.我们网管在使用这些网维软件,应该时刻都要记得,我们不仅仅要让网吧能够正常运转,最终是要让网吧的生意变得更好.怎样让网吧生意更好,这里的原因和手段太多了,我不是来讲网吧经营的,我就仅仅从技术角度来看,咱们网管可以为网吧的生意做些什么:1)稳定(网吧的根本,没什么可说的)2)快(让顾客爽)3)多(满足各种顾客的需求)4)好(游戏优化,更新及时)5)省(给老板省点钱,省钱就是赚钱呀)满足这5大要素的网吧,基本上技术就到极致了.剩下的就是技术外的问题了.这5大要素当中,我们如何去做呢?我的答案非常简单,弄好你的虚拟盘,把所有的游戏都放在虚拟盘上,本地的硬盘就只放个系统就可以了.相信很多人要问了,这样真的可以吗?速度够吗?带的起吗?我可以很明确的回答:完全可以!一台5千元的服务器就可以带150台,一台1万元的服务器可以带300台,一台2万的服务器几乎可以带上一千台,不但可以带的起,而且还比本地硬盘还要快的多的多!这样的做法有很多的好处,我总结了以下十大优点:1)无人值守自动更新游戏,无需推送到客户端,无需额外管理2)好的虚拟盘,可以达到几乎无限的速度,完全突破系统的瓶颈,远比本地硬盘快的多.到底有多快,我在后面就会说明.3)容量扩展将变的更加简单,现在1.5T的硬盘也就8xx元,弄2个装上,代价不过16xx元而已,3T的游戏空间啥游戏不能装?4)玩家启动游戏没有更新过程,完全无需等待5)不会出现因为磁盘空间不足导致的游戏误删除,不怕游戏强推6)大幅度减少磁盘扫描现象,E盘扫描可以杜绝7)客户机方便部署,只需要GHOST系统盘8)只要服务器管理得当,游戏分区不再有病毒问题9)方案同样适用于所有的无盘,让无盘只负责C盘和回写,游戏完全交给虚拟盘来进行管理,既减少了无盘服务器的负载压力,又方便而易于部署10)其实,弄个好的虚拟盘服务器并不贵,平均摊到每客户机成本还不到50元,网吧如果旧硬盘不更新的话,硬盘上省下的钱远不止这点.明白了这些好处,接下来的问题就是如何去用好虚拟盘.我的文章会从以下几个方面展开:1)一些基础的知识2)硬盘的基本原理和性能分析3)虚拟盘的性能分析4)虚拟盘的负载能力5)虚拟盘在网吧中的实际应用6)典型案例和推荐方案7)一些问题这个"系统+虚拟盘"的方案,它并不是一个新鲜的概念,曾经有许多人也做过积极的尝试,有
部分人很成功,而更多的人,因为无法解决高负载情况下的服务器性能问题,而放弃尝试.问
题在哪里呢?我在后面要讲解的,就是这些成功的秘诀.好了言归正传,今天继续开讲,先来说一些最基本的东西.第一个问题,网吧怎样算卡,怎样算不卡,达到什么样的条件才不会卡?这个问题看起来非常的白痴,但是真的要是去问问我们的网管,可能问100个人就会有99种说法,仔细想想,这个问题真的那么简单吗?其实造成卡的因素非常的多,外网延迟高,内网不稳定,CPU,显卡太差,内存不足等等.今天我们这里只讨论磁盘和虚拟盘的问题,磁盘或者虚拟盘造成的卡,是和写入或者读取的速度有关的,在游戏运行过程中,速度降低到多少才会出现较为明显的停顿呢?这个因不同的游戏而异.但是基本的,我可以提供一个参考数值:1MB/S!启动游戏时,1MB/S的速度估计会慢的让人很郁闷,但是对大多数游戏来说,只要进了游戏以后,如果任何时候都能满足1MB/S的读写速度,游戏就可以运行的很流畅.在服务器上观察客户机的读写,几乎90%以上的客户机平时读写数据都是0,偶尔读一点,也是128K,256K这样
的流量,.不信的话,你可以认真的观察一下服务器的情况.很多百M内网的网吧里,在虚拟盘服务器上运行游戏,除了启动略慢一些,游戏过程中依然可以很流畅的.对有盘的网吧来说,在本地运行的游戏要达到1MB/S的标准实在太容易了,所以有盘网吧里硬盘导致的卡是很罕见的,往往是其他的原因才会出现卡的情况.但是对无盘网吧来说,情况要糟糕一些,事实上很多无盘网吧都容易出现卡机现象,原因是无盘服务器回写的压力是非常大的,回写的文件多半细碎而且难以缓存,所以服务器硬盘常常处于负荷的极限,这种情况下是很容易卡的.我这里并不是说无盘不好,只是因为很多代理商施工的时候为了追求利润或者追求高带机量,让服务器带了过多的客户机,这样回写的压力是非常大的,很多人都对服务器性能过于乐观了.再来说说快和慢的问题,到底磁盘要多快才够呢?我们在疯狂的做RAID0的时候,测到200-300M/S的速度的时候,也许自己还不是很满意,还想能不能再快一些,快到400M甚至500M,可是事实上我们需要那么快吗?我们来做一些简单的分析.我们的测试客户机是这样的:CPU酷睿2200显卡9600GT内存2G这样的机器是去年下半年网吧比较典型的配置.这样的机器,在读取硬盘数据的时候需要多少的速度才能满足要求?才能不成为系统的瓶颈?我们使用一个固态硬盘作为参照----OCZ的一个32G的固态硬盘来做测试,这样硬盘不会成为系统的瓶颈,CPU和显卡的处理速度才是系统的瓶颈.测试结果是:WINDOWSXP一般启动一次大概要读取250M左右的数据,最高启动速度为30M左右
魔兽世界进入到游戏画面,所有读取的数据大概为300M左右,最高的读取速度不到30M.
我们随后又测试了多款游戏,大部分的游戏启动,都不超过25M/S.
随后我们用PCMARK05进行测试,结果如下:1.jpg(53.12KB)2009-9-2410:01(图2-1:PCMARK05测试OCZ固态硬盘)如图所示,模拟启动XP的速度为27MB/S,模拟程序载入时23MB/S,普通应用18MB/S,只有做模拟病毒扫描时才达到104MB/S.初步的结论:我们这样的机器,对数据的需求最高不超过30M,在绝大多数时候,数据流量在10M以下,那么几百MB/S的硬盘是我们需要的吗?不不,事情绝对不是那么简单的,硬盘中还隐藏着很多不为大家所熟知的秘密,下一节我会用非常大的篇幅来仔细的讨论这个课题.接下来我们说说负载问题,对虚拟盘服务器来说,怎样算带的起,怎样算带不起?我的方法也很简单,找出虚拟盘服务器整个系统中最薄弱的环节,仔细测量薄弱环节的性能和能力,按照客户机平均读取流量,计算服务器能负载的极限值,然后,为服务器留出3-5倍的性能余量.这样基本上就是带的起了.有很多种方法可以测量服务器的负载情况,如果你对自己服务器的性能掌握不太清楚的话,可以自行监测一下.多数虚拟盘服务器的瓶颈都在于硬盘,我这里提供一个简单的监控硬盘性能的方法.在服务器上打开开始à程序à管理工具à性能.2.jpg(43.36KB)2009-9-2410:01(图2-2:WINDOWS自带性能监视工具)然后选择计数器日志,新建一个磁盘监控的任务,再添加一个计数器,选择硬盘(physicaldisk),选择你要监控的磁盘分区,然后从列表选择计数器:%disktime,然后将时间周期设定为1秒,这样,系统会每一秒钟记录一次磁盘的运作情况,输出为csv格式,可以直接用excel打开分析.如下图:3.jpg(75.73KB)2009-9-2410:01(图2-3:用WINDOWS自带性能监视工具记录服务器状态)这里解释一下什么叫%disktime,词可翻译为磁盘工作时间的百分比,输出的数值多半为5.x,86.x,264.x,对应的意思是:这一秒钟有磁盘有5%的时间在工作,86%的时间在工作,264的意思是工作需要2.64秒才能完成,对这秒钟来说,磁盘已经远远的超过了负荷,就有可能会卡了.这个数值100%为磁盘满负荷,小于100%,就是未满负荷,大于100%,就是超过磁盘的承受能力.
用这个计数器可以无限的记录下去,在你网吧人最多的时间,找一段数据出来分析一下,你就
会知道你的服务器到底负荷怎样.我举一个例子吧,下面这段数据是某网吧虚拟盘服务器在8月8日晚上20:00~22:00点之间记录的,这个网吧当时约90人,所有的游戏都放在该服务器上的该硬盘上(一个1.5T的希捷11代硬盘).我用execl分析成图表如下:4.jpg(52.49KB)2009-9-2410:01(图2-3:某网吧虚拟盘服务器高峰时段的硬盘读写时间图)分析整整2小时的数据,我将读写时间从高到低进行排列,最忙的那一秒钟在8月8号的
20:53分,负荷达到了95%左右.从整个横线的比例来说,1%不到的时间,硬盘的负荷在90%~30%之间.大概有2%左右的时间,硬盘的负荷在30%~10之间其他大概97%左右的时间,硬盘仅仅工作在10%的负荷之内.这是很理想的情况,这种负载下,服务器是真的带的起,带的轻松.负载的客户机再增加5倍都没什么问题.这里还要补充一下,并非硬盘达到100%以上客户机就会卡,在100%那一刻,没有去读数据的
客户机不会卡,就算去读的客户机也不一定会卡,因为数据的需求量并不一定是那么大的,而
且,1秒很快就过去了,就算数据受阻,一般也未必感觉的到,但是!经常性长期性的超过100%,
那就总有碰到卡的时候.欢迎大家自查自己的服务器,很期待看到大家贴出自己服务器的硬盘负载图.
下一节:硬盘中的惊天大秘密!既然要谈论虚拟盘,那我们就先从硬盘开始说起目前市面上可以买到的硬盘大体分为三种:1.普通的sata硬盘,最为常见,性能一般,转速7200转,容量从80G-2000G不等,价格低廉.
无需专用接口,一般主板都支持.2.高级一些的SAS硬盘,属于服务器配件,需要专门的SAS接口,这种接口在高端的服务器主
板上才会有,普通的主板要用sas硬盘的话,可以买专门的sas接口RAID卡.价钱较贵,一般
147G的硬盘就要1K多了,速度比普通sata硬盘要快一些.3.新型的固态硬盘,也称为SSD,这种硬盘使用flash进行存储,没有机械结构,最大的优点是
寻道时间非常低,现在最快的SSD,已经可以达到250M的读取速度,200M的写入速度,性能全
面超过以前的老式硬盘,缺点是容量太小,价钱较高.一般120G的SSD就要卖到2-3K了.固
态硬盘目前比较多使用在高级的服务器上,部分高端的笔记本也会使用一些SSD.
第一部分:普通的SATA硬盘:硬盘的工作原理,可以从这段视频中清晰的看到6.zCTB6Fmc2HGRPxko/v.swf这段视频展示了我们在删除,复制粘贴,快速格式化时,磁头的相应工作情况,印象最深的是磁头疯狂摆动的样子.我们先来了解一些硬盘的基本概念,如图是硬盘的盘片的示意图:1.jpg(57.57KB)2009-9-2410:08(图3-1:硬盘中的盘片示意图)磁道磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道(Track0开始顺序编号。信息以脉冲串的形式记录在这些轨迹中,这些同心圆不是连续记录数据,而是被划分成一段段的圆弧,每段圆弧叫做一个扇区,扇区从开始编号,每个扇区中的数据作为一个单元同时读出或写入。一个标准的3.5in硬盘盘面通常有几百到几千条磁道。磁道是“看不见的,只是盘面上以特殊形式磁化了的一些磁化区,在磁盘格式化时就已规划完毕。扇区操作系统以扇区(Sector512个字节的数据和一柱面号)以及扇区在磁道上的位置即扇区号。簇簇就是更大的扇区,它可以是一个扇区、也可以是2个、4个、8个等等,它究竟有多大是存空间。比如镞是64K,那么那怕只有一个字节的文档,也会占用64K的空间,对于QQGAME之类的小文件极多的游戏,浪费的空间是很大的.簇就是我们在格式化的时候,可以选择的区块大小,从512B---128K不等,如果我们选择比较大的簇,空间会比较浪费,但是虚拟盘出盘的流量会大为减少.如下图:2.jpg(50.94KB)2009-9-2410:08(图3-2:虚拟盘出盘数据量)这是个1.5的硬盘,几乎装满了游戏,但是出盘仅仅只要读取3M数据,这个分区是用64KB为
单位进行格式化的,如果使用32KB的簇,那么出盘流量就会变成2倍:6M,如果使用默认的方
式格式化(512B),那么出盘的流量就会达到300多M,这样的数据是很恐怖的,对分区硬盘大
的的服务器会导致出盘的效率极度低下.来看看这么一张截图,是用HDTUNE测试硬盘基准测试:3.jpg(70.45KB)2009-9-2410:08(图3-3:HDTUNE文件基准测试图)对一个硬盘分别采用从512B,1K,2K…8M等从小到大的不同区块大小,进行测试读写速度,总的速度来看是逐渐升高的,到64K以后,就基本持平了,对于过小的区块大小,磁盘读取后数据的处理时间还赶不上磁头读取的速度,因此小区块造成的速度衰减是非常明显的,我们在后面的测试当中,大部分都基于64K的区块,这样反应的数据比较有价值.1M,8M这样的区块大小我不会在测试中采用,对真实应用的指导性不大,因为我们一般的虚拟盘都是基于
512B-64K之间的大小来进行格式化的.区块大小对于虚拟盘的测试会产生非常大的数据偏差.在客户机上测试网维大师的虚拟盘,
用512K区块时,可以达到90M以上的读取速度,但是在64K时,只有55M的读取速度.常常在
论坛上看见很多比拼虚拟盘或者无盘的读取速度,很多人都没有注意这个区块大小的问题,
不同区块大小造成的测试结果偏差导致很多比拼失去了公平的意义.Ø平均寻道时间(Averageseektime):指硬盘在盘面上移动读写头至指定磁道寻找相应目标
数据所用的时间,它描述硬盘读取数据的能力,单位为毫秒。寻道时间和这几个因素有关:
盘片大小,磁头移动速度.Ø平均潜伏时间(Averagelatencytime):指当磁头移动到数据所在的磁道后,然后等待所要
的数据块继续转动到磁头下的时间,一般在2ms-6ms之间。潜伏时间和盘片转速关系最大.
Ø平均访问时间(Averageaccesstime)均访问时间越好,7200转的SATA硬盘一般在11ms-18ms之间,典型的15000转SAS硬盘一般
在5ms-8ms之间.现在,一般在说的平均寻道时间往往指的就是指平均访问时间,我们在后面
也用平均寻道时间来代表这个平均访问时间.Sata硬盘的性能取决于2大指标:一是硬盘的转速,转速越高性能越好,一般的sata硬盘转速都是7200转,也有少量的5400
转产品,多用在笔记本上,西数还有一种特别的迅猛龙硬盘,是一万转的,盘片是2.5寸的,比
普通硬盘的3.5寸盘片小很多,转速高,盘片小,使得迅猛龙硬盘在寻道时间上比普通硬盘缩
短了近一倍的时间,实际性能已经很接近于sas硬盘了.,二是磁盘的单碟容量.存储密度的提高对性能提升是很有好处的,在磁头划过同样的距离时,
密度越高的磁盘,读取的速度自然越多.这点对顺序读取的性能提升尤其非常明显.
普通的硬盘有多快呢?我们先看一个截图:4.jpg(76.76KB)2009-9-2410:08(图3-4:HDTUNE测试希捷11代盘顺序读取)硬盘是希捷11代的1.5硬盘,单碟容量500G,是当今最快的SATA硬盘之一.(因为测试的时候服务器还在提供负载,所以曲线不是很平滑).这个测试显示的是硬盘连续读取的状态.使用的工具是HD-TUNEPRO3.50版本.从这个图看,该硬盘的外圈速度已经达120MB/S以上,速度应该是非常理想了,但是我们来看另一个测试:5.jpg(70.85KB)2009-9-2410:08(图3-5:HDTUNE测试希捷11代盘随机读取)还是那个硬盘,这次我们测试的是随机读取的速度,在硬盘中随机选取N个小点,每个小点代表64K的数据.和上面连续读取的条件一样,都是读取64K的区块,结果速度降到了3.577MB/S,相差了近30倍.为什么有如此大的差异呢?因为硬盘的性能指标中,读取数据的性能远大于寻找数据的性能.读取一个64K的数据,硬盘只需要1/2000秒,也就是0.5MS(毫秒)但是要找到这个64K的数据,硬盘需要花费1/57秒的时间,也就是17MS.
这两个性能相差了30多倍.如果硬盘花在读取数据上的比例多,性能就会很好,如果硬盘花
在寻找数据的比例多,那性能就会变的非常糟糕.那么,在实际应用当中,哪个数据更有参考意义呢?我的结论是硬盘的随机读取速度才代表硬盘的真正速度,因为实际在网吧里的应用大部分都
是随机读取的过程,为什么这么说呢?原因有以下几点:1)客户机上的硬盘很难将文件排列整齐,随着硬盘满了删,删了写,满了又删,长久以往,硬盘
上的游戏难以按顺序排列,而且碎片很多,而网吧的环境又很难常常去整理硬盘,如果不幸用
的是300G以上的硬盘,那整理的过程是会让人崩溃的.2)就算是初次刻盘,将文件都好好的排好了,也不会是连续读取,因为基本没什么游戏会对硬
盘的读取顺序进行优化,多数的游戏里面文件排列的规则都是按照开发人员易于管理的方式
进行排列,比如素材这类的放在一起,地图这类的放在另一个文件夹里,人物的画面又放在其
他文件夹里等等,这样的游戏在读取的时候,必然是地图要读,素材要读,界面要读,人物图片
要读,这必然是”随机读取”的过程.3)对硬盘来说,就算是读取连续文件,但是如果存在2个或者2个以上的读取线程,那就马上
变成随机读取了,硬盘的磁头会不停的移动,一会去内圈为A进程读取,马上又去外圈为B进
程读取.在XP开机刚进桌面的时候,因为进程很多,这时候磁盘速度会变的奇慢无比.
4)随机读取的衰减是非常惊人的,100%的顺序读取很罕见,多半都是部分是顺序的,部分是随机的,只要有少量的随机读取的比例,磁盘的性能就会急速的衰减.说了这么多,很多朋友肯定还是不信,那么我们来看看真实的数据吧.6.jpg(65.28KB)2009-9-2410:10(图3-6:PCMARK测试intelSSD和希捷11代盘)这个图是天极网做过的一个评测,用最爱生活爱顺网的机器(爱妻+爱生活爱顺网显卡),再超频到极限以后测试的结果,以尽可能好的机器来挖掘硬盘的潜力.分别用INTEL的固态硬盘和希捷11代盘来测试PCMARKVANTAGE.显示的数值是2个硬盘在运
行不同的测试项目时读取硬盘的平均速度.INTLE的固态硬盘是当今最快的固态硬盘之一,读取速度达到250MB/S,写入速度也能达到200MB/S以上,而且固态硬盘的特质就是随机性能和顺序读取性能相差无几.仔细看看这个图,是很有启发的,我们来看Gameing这一项(第3行),在运行游戏项目的时候,固态硬盘读取的平均速度是95MB/S,而普通硬盘只有10.5MB/S.在SSD的测试当中,硬盘不是系统的瓶颈,瓶颈是机器本身的处理性能,包括cpu和显卡,这说明这个系统的处理能力是95MB/S.在SATA硬盘的测试当中,虽然系统能达到95MB/S的处理能力,但是硬盘只能输出10.5MB/S.这说明了,这个测试中,硬盘只能达到10.5MB/S的读取速度.因为PCMARKVANTAGE只能在VISTA上运行,因此我们没有去复现这个测试,基于XP,我们用PCMARK05做了以下的对比测试:7.jpg(52.13KB)2009-9-2410:10(图3-7:PCMARK05测试OCZ的SSD)这个图是上一节出现过的,采用网吧内普通的机器测试,这个OCZ的固态硬盘是去年夏天购买的,是OCZ第一代的SSD,采用JB的控制芯片.对比一下希捷硬盘的测试结果:8.jpg(50.23KB)2009-9-2410:10(图3-8:PCMARK05测试普通sata硬盘)结果差异虽然不如天极测试的明显,但是结论是一致的.测试中SSD硬盘在XP启动,游戏载入,普通应用这3项测试上能达到20-30MB/S的读取速度,
这说明客户机的CPU和显卡的处理性能基本就在20-30mb/s这个水平上.
普通的sata硬盘在XP启动,游戏载入,普通应用这3项测试上只有7-8MB/S的读取速度.这
说明,硬盘的读取能力仅有7-8mb/s的水平.这就充分说明了:在游戏测试的项目中,硬盘去读取这些数据多数都是”随机读取”的状态,
对固态硬盘来说,随机读取和顺序读取几乎是一样的,所以衰减很少,可以全速读取,但是对普通的硬盘来说,做随机读取需要消耗大量的寻道时间,实在是快不起来啊!在图3-5的测试当中,硬盘需要花费95%以上的时间来进行寻道,只有5%的时间在读取数据.在各种不同的应用当中,表现的情况是随机读取的情况占大多数,在网吧中游戏是最主要的应用,普通的硬盘在游戏的表现中是非常不理想的.因为随机读取性能更能代表硬盘本身的性能,所以我们在后面的测试大部分都是采用随机读取的测试结果.总结:普通的7200转SATA硬盘,目前性能最好的已经达到了单碟500G容量.用64K区块进行测试,这些硬盘顺序读取速度在外圈都超过100MB/S的速度,但是随即读取
的速度一般只在3-4MB/S之间,而实际应用中,随机读取的速度决定了硬盘的快慢表现.下一节,我为大家说说SAS和SSD硬盘,神秘的SAS和SSD硬盘对很多人来说就是昂贵和性能的代名词,究竟如何呢?下回分晓.什么是sas硬盘:SAS是新一代的SCSISerialATA(SATA)SAS是并行SCSI接口之后开发出的全新接口.简单的说,sata是家用版本,sas就是服务器版本.sas硬盘多半是采用2.5寸的盘片,sata一般是3.5寸的盘片(笔记本硬盘和迅猛龙硬盘除外).Sas硬盘转速一般是1万转/分钟,或者是1.5万转/分钟,而sata的转速一般是7200转/分钟.Sas硬盘的磁记录密度和sata差不多,所以连续读取速度上和sata硬盘差不多.但是sas硬盘的平均访问时间比sata快很多,所以在随机性能上有一定优势.平均访问时间是由寻道时间和潜伏时间决定,而寻道时间由盘片大小和磁头臂移动时间有关,而潜伏时间和转速有关,综合起来,1.5万转的sas平均访问时间大概是是5-8ms,而sata一般是10-20ms.下面我们通过测试来看看,1.5万转的SAS硬盘究竟有多快,先看看顺序读取的情况:1.jpg(66.79KB)2009-9-2510:16(图4-1:HDTUNE测试希捷15000转SAS硬盘顺序读取)使用的是希捷146G的15000转sas硬盘,在全顺序读取的情况下,最高速度为125M.这个速
度和普通的希捷11代盘差不了多少.再来看随机读取的情况:2.jpg(64.19KB)2009-9-2510:16(图4-2:HDTUNE测试希捷15000转SAS硬盘顺序读取)因为寻道时间的大幅度减少,随机性能比sata硬盘好了不少,但是也只有9.6MB/S,大概是sata硬盘2-3倍的速度.这样,我们基本上就可以理解为sas硬盘的速度是sata硬盘的2-3倍,在实际应用的时候,我们确实发现sas硬盘对于无盘回写的处理能力,和2-3个sata硬盘的回写处理能力相当.在支持多回写的无盘软件上,用一个sas硬盘和3个sata硬盘所能得到的效果和带机量是相当的.再来看看固态硬盘的情况:基于闪存的固态硬盘,采用FLASH芯片作为存储介质,就是我们通常所说的SSD。固态硬盘中,存储单元又分为两类:SLC(SingleLayerCell单层单元)和MLC(Multi-LevelCellSLCMLC的特点MLC的每个单元是2bitSLCMLC存储单元中存放的资料较多,结构相对复杂,出错的几率会增加,必须进行错误修正,这个动作导致其性能大幅落后于结构简单的SLC闪存。此外,SLC闪存的优点是复写次数高达100000MLC闪存高10MLC100万小时故障间隔时间(MTBF),达到20年以上的使用年限.固态硬盘的优点是寻道时间短,没有机械机构,耐冲击.缺点是价格高,容量小,写入速度一般.固态硬盘这几年发展的相当快,每GB价格下降很快,几乎每年都要跌去一半的价格.固态硬盘的存储单元flash,本身速度并不是非常快的,象U盘一样,一般的读取速度也就几十M左右,但是因为flash访问延迟很低,因此固态硬盘的做法是就是将很多flash组成多个RAID0来提升速度,象INTEL提供的方案就是10通道的raid0,这样速度可以提升到200MB/S以上.同样,我们用测试的数据说话,看看SSD到底有多快.测试对象是金士顿的32G固态硬盘,采用SLC芯片,是INTEL的OEM产品,性能和intel的硬盘几乎一样.顺序读取:3.jpg(73.81KB)2009-9-2510:16(图4-3:HDTUNE测试金士顿32G固态硬盘顺序读取)
顺序读取速度稳定在210MB/S,平均的存取时间只有0.1秒.
再来看随机读取的情况:4.jpg(74.92KB)2009-9-2510:16(图7:HDTUNE测试金士顿32G固态硬盘随机读取)同样的测试条件,金士顿的固态硬盘的随机读取的速度达到了惊人的128MB/S!平均读取时间为0.48MS,IO达到2061,这个性能是sata硬盘的30多倍,也是sas硬盘的10多倍.结论:sata硬盘的性能远不如我们想象的那样,在实际应用当中,sata硬盘往往只有7-8MB/S的读取性能,而1.5万转的SAS硬盘确实比sata要快,性能大概能达到sata的2-3倍,而最快的硬盘式固态硬盘,能达到sata硬盘的30倍性能.因此,为虚拟盘服务器挑选硬盘时,如果仅从性能上考虑的话,SSD是最好的选择,sas硬盘次
之.下一节,我们继续就硬盘的随机读取性能进行深入的分析.在第三篇的时候,我讲到了一个观点,就是在应用中多数的情况都是有部分数据是随机读取的,部分数据是连续读取的,我还讲到,少量的随机读取的比例就会导致硬盘的性能大幅度的降低,现在我们来看看随机数据的比例对硬盘的确切影响.我们使用IOMETER来进行这项测试.IOMETER是专业的磁盘测试工具,因为可以灵活的设定测试的详细条件,因此在很多专业评测中采用.大家有兴趣的话也可以研究研究.先看看sata硬盘的测试情况.测试对象是一个西数的80GSATA硬盘.1.jpg(41.77KB)2009-9-2510:29(图5-1:IOMeter测试西数80G硬盘读取,0%随机)第一图是全顺序读取的结果,这个硬盘连续读取的能力为55MB/S.IOps是877.测试区块仍是64K.2.jpg(48.79KB)2009-9-2510:29(图5-2:IOMeter测试西数80G硬盘读取,5%随机)仅仅是加入了5%的随机数据,性能已经衰减到20MB/S,iops降低到474后面的测试图我就不一一张贴了,整理成下图3.jpg(40.01KB)2009-9-2510:294.jpg(20.73KB)2009-9-2510:295.jpg(26.03KB)2009-9-2510:29接下来看看SAS硬盘的情况
全顺序读取:6.jpg(58.87KB)2009-9-2510:29(图7:IOmeter测试希捷15000转sas硬盘顺序读取)25%的随机数据读取:7.jpg(54.13KB)2009-9-2510:29(图7:IOmeter测试希捷15000转sas硬盘25%随机读取)50%的随机数据读取:8.jpg(61.65KB)2009-9-2510:29(图7:IOmeter测试希捷15000转sas硬盘50%随机读取)100%的随机数据读取:9.jpg(63.86KB)2009-9-2510:29(图7:IOmeter测试希捷15000转sas硬盘100%随机读取)整理成图表:10.jpg(11.03KB)2009-9-2510:2911.jpg(20.91KB)2009-9-2510:2912.jpg(19.1KB)2009-9-2510:29综上,只要有少量的随机数据,硬盘的性能就会急剧的下降,sata和sas硬盘都不例外.在来看看对固态硬盘来说,随机数据的影响.讲完了硬盘,下一节,我们来看看虚拟盘的性能虚拟盘:具有管理和使用方便的特点。虚拟盘工作过程:客户机发出读取需求à指令通过网络传输到服务器à服务器去读取数据à通过网络将数据
发送给客户机,整个环节中,最有可能造成延迟的部分就是后2个环节.服务器读取数据的环节,一般是服务器先在缓存中寻找,如果缓存中没有,则到相应的硬盘中
去读取.缓存命中的数据,其延迟是微乎其微的,所以主要延迟还是硬盘的延迟.通过网络将数据发送给客户机这个环节,还要经历软件处理à网卡à网线à交换机à网线à客户机网卡à客户机,这么多的过程中,虚拟盘软件的传输协议,网卡的性能,交换机的性能,网线的性能都会影响到最终的虚拟盘性能.总结起来,影响虚拟盘性能的主要因素就是:硬盘性能,软件性能,网络性能.下面逐个来分析一下.首先来说说网络,典型的千兆网络,使用超5类网线传输,经过我们测试,其实延迟是非常之低的,看看这个测试图:1.jpg(73.51KB)
2009-9-2510:36(图8:交换机性能测试)这个测试表明,在64字节这样的极限条件下,2个交换机的通过率都超过99%以上,请注意测试单位是64字节,而不是64kb,普通硬盘如果用512字节来测试的话,连续数据也只有3-4MB/S,随机数据就只有几十KB/S了.交换机上单个包的延迟仅为4微秒,比硬盘的15毫秒的寻道时间少了3000倍.尽管网吧里的状况不可能象实验室中的测试条件那么好,但是实际上,网络上真正的延迟还是远比硬盘的延迟要低的多的多!我们再来看看虚拟盘软件在客户机用HDTUNE测试网维大师5.0版本虚拟盘的速度.我们将数据全部缓存在内存当中,以屏蔽硬盘对虚拟盘速度的影响,按64K的条件来测试,结果如下:2.jpg(26.32KB)2009-9-2510:36(图9:虚拟盘在缓存命中情况下随机读速度(客户机测试))测试方法是随机读取,在64K的条件下,速度约55MB/S左右,很好理解,服务器每次按64KB大小进行发包,1秒钟要达到55MB的流量,需要发880个包(普通硬盘每秒只能处理60个64K的数据),因而我们可以计算出虚拟盘软件+网络最终造成的延迟:64KB/55MB*1024=每个64K包的延迟=1.1毫秒由此可见,软件性能和网络性能导致的延迟相加不过是1.1毫秒而已,远比普通硬盘的10毫秒-20毫秒的延迟小的多.所以:真正要提高虚拟盘的性能,关键还是在于硬盘,硬盘才是整个环节中的最大瓶颈.我们加上硬盘的影响,做个直接的对比测试吧:3.jpg(32.06KB)2009-9-2510:36(图10:虚拟盘在有缓存和无缓存情况下随机读速度(客户机测试))蓝色的是完全没有内存缓存的情况,所有的数据都是直接从硬盘中读取.在同样的测试条件
下,同样的虚拟盘,缓存命中和缓存未命中带来的差异是惊人的.除了固态硬盘,其他2个硬盘的测试结果都非常的糟糕.希捷7200.11虚拟盘速度只有缓存命中情况下的1/10,超过90%的时间都损耗在硬盘的寻道时间上了.分析到这里,要获得好的虚拟盘性能,对应的方法就很简单了:1、尽可能的减少硬盘的读取,用内存对常用数据进行缓存.2、尽可能提高服务器硬盘的性能,比如使用SSD硬盘3、使用好的虚拟盘软件4、网络性能不能太差OK.下一节我们开始讲该怎么做.颈,所有其他的因素,包括网卡,网线,交换机,软件性能,操作系统平台等等,它们加起来所造成的延迟不到硬盘的1/10,所以,要提高虚拟盘最终读取速度的关键就在于硬盘.我们来看一个典型的测试,在客户机上,用HDTUNE对虚拟盘进行随即读取测试.我们用内存进行读取数据的缓存,这样测试到的数据全部是从服务器中的缓存发出的,结果如下:1.jpg(57.7KB)2009-9-2709:54结果可以清晰的看到,在64K区块测试的时候,延迟1.2毫秒,是sata硬盘的1/10,同时流量也达到了53.6MB/S,这个速度是普通的SATA硬盘绝对无法望其项背的.是SATA硬盘的10多倍,是SAS硬盘的5倍,已经非常接近于固态硬盘的读取速度了.虚拟盘有多少的负载能力呢?要回答这个问题,我们先讲几个概念,如果不能明白这几个概念,那就难以理解整个体系的奥秘所在.?基本名词解释l什么是缓存?在网维大师的虚拟盘中,会将部分物理内存用于存储最常被读取的数据,当客户机请求读取数据时,服务器会先在这些内存中进行寻找,如果在内存中有这些数据,则直接由内存发出,只有内存中没有该数据,才会去硬盘中读取.l什么是缓存命中率?是指所有服务器发出的数据当中,有多少比例的数据是从内存中发出的,越高意味着性能越好.比如50%的命中率意味着,每从服务器发出100M数据,其中50M是从内存中发出的,只有50M是从硬盘中发出的,这就意味着与不使用缓存的服务器而言,我们服务器的负载能力扩大了2倍.l如何提高缓存命中率?提高命中率。其次,就是装上尽可能多的内存。网吧中的真实负载情况要想明白一个虚拟盘服务器到底能带多少机器,首先得知道负荷会有多大,在一个典型的中型网吧里,装了1.8T的游戏,究竟在营业的时候,会读取多少的数据呢?这是很关键的问题,不知道朋友们是否认真的研究过这个问题,但是至少我在做这个测试之前,我还真的不知道这个准确的数字.好吧,我们来看看这个测试,这个测试网吧是个典型的中型网吧,机器110台,来的客户有学生,有民工,还有些上班族,生意一般,不好也不差.我们将所有的游戏均部署在虚拟盘上,统计了2天的数据.注意:是所有1.8T的游戏,在客户机的本地硬盘上,一个游戏都不装!
2天内所有的游戏读取数据量为448G.根据收费系统的统计,2天内所有的客户机在线机时总共为1730小时.这样计算下来每秒每客户机的流量为:448G/(1730小时*3600秒)=75K/S后来我们也测试了一些其他的网吧,虽然不同的网吧,不同的玩家行为会造成一些差异,但是大体上结果是相似的.传统的虚拟盘的负载能力根据上述的一个网吧用户平均读取流量,我们就可以评估一下,传统的虚拟盘的负载能力.我们考虑一个简单的模型,假设这个传统的虚拟盘服务器,只有一个希捷7200.11硬盘,同时没有任何缓存机制,这种情况下,我们简单的算一下,这个服务器能带起多少机器.对这样一台服务器来说,因为硬盘的随机读取的能力仅为4MB/S,网络和其他因素应该可以轻松的达到4MB/S的能力,因此我们完全可以认为该服务器的性能瓶颈集中在硬盘上.按照4MB/S的硬盘能力,我们计算硬盘的极限承受能力:4M(硬盘随机性能)/75K=54台.意思就是说,按照75KB/S的平均读取需求,该服务器的硬盘最多能承受54台机器在线.实际上,为了应付突发的情况,我们应该为服务器留点余量,不能让服务器总是工作在满负荷情况下,假设按3倍的余量计算:54/3=18台.结论:这样的虚拟盘服务器,在18台机器的负载情况下,大部分的时候,性能和本地硬盘相当.这样的结论和我们经验值是比较接近的.在实际网吧应用当中,我们是不敢将所有游戏都部署在这台机器上,这点负载能力,太不够用了,那么,怎么办呢?89楼的朋友在看到第六篇的时候,已经给出结论了,要提高虚拟盘的性能,出路就2个:一个,但是这两种办法都是非常昂贵的手段,网吧花的起这个钱吗?我的办法就在下一篇:第八篇:<虚拟盘的负载能力:下>
首先,我来解释一下什么2/8原则.二八原则是19世纪末20世纪初意大利经济学家帕累托提出的,这个原则很简单:任何一组事物中,最重要的只占其中约20%,其余的80%虽然是多数,但是却是次要的。比如:80%的销售额是源自20%的顾客;80%的电话是来自20%的朋友;80%的总产量来自20%的产品;80%的财富集中在20%的人手中;非常简单的一个原则,但是现实生活中,你会发现这样的规则几乎是无所不在的.基于2/8原则,在虚拟盘的应用上,我们可以引申出内容分级存储管理的概念.
什么是内容分级存储?是指我们将所有可以用来存储内容的介质,按照性能的不同,分成多个级别,在进行存储的时候进行优化选择,将最常用的数据存储在性能最高的介质中,依次类推,将最少用到的数据存储在最廉价的介质上,实现速度和容量并重,同时造价尽可能的低廉.根据2/8原则.80%的顾客只玩20%的游戏,那么我们只要把这20%的游戏搞的很快,就能满足80%的顾客需求.这点,可以根据网维大师上的DP值排行就看的出来.再根据2/8原则,大部分的游戏,在80%的运行时间里,往往只读取其中20%的数据.这一点有根据吗?有,好好的观察一下,我们会得到这么一个结果:魔兽世界这个游戏虽然有10来个G,但是进一次游戏,从启动图标开始一直到游戏画面中,需要读取多少数据呢?答案是:只要200M!在游戏里玩上1-2个小时,总共读取的数据也就500M而已!XP装完要至少1.5G,但是启动一个XP到桌面,需要读取多少数据呢?答案是:只要250M!同样的例子还有很多,我们对市面上几个常见的游戏均进行了测试,结果如下:永恒之塔500MB
穿越火线600MB
QQ飞车95MB反恐OL240MB
QQ炫舞200MB
QQ三国100MB
天龙八部130MB
魔兽争霸3100MB
梦幻西游30MB
诛仙100MBQQ寻仙470MB
传奇50MB魔兽世界200M除了穿越火线,QQ寻仙等几个腾讯出的BT游戏之外,大部分游戏需要读取的数据都非常的小.在实际游戏过程中也是一样的,除了切换地图,绝大多数的时间,游戏基本都不读什么数据的.结论就是,尽管游戏容量非常之大,但是其中经常会用到的数据其实非常非常少.根据上述分析,我们的答案就很简单了.目前的常见介质的特性如下表所示:介质种类性能(64K随机读取IOPS)容量价格内存10万以上常见4-8G1XX元/2G固态磁盘(OCZSSD)2000常见32G-128G11XX元/60GSAS硬盘(15K转速)200常见74G-300G9XX元/147GSATA迅猛龙(10K转速)120150G或300G9XX元/150G普通SATA60常见160G-2000G7xx/1500G(图1)内存是性能最好的存储介质,那么我们就应该将最常被读取的数据放在内存里.
其次固态硬盘也是非常好的介质,那么我们就应该将最热门的游戏放在固态硬盘里.
…………………最后,SATA硬盘容量又大又便宜,那么我们就把那些最冷门的游戏放在SATA里.内容分级存储的典型应用来看看上次网吧流量测试当中的服务器截图.2.jpg(87.34KB)2009-9-2710:02这就是非常典型的内容分级存储的案例.服务器内存共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.CPU2.网络(包括交换机,网卡,网线等)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左右)内存:DDRII2G*4共8G(600左右)硬盘:OCZ120G固态硬盘*1(2000左右)希捷7200.11硬盘1T*2(1400左右)机箱,电源等(500左右)-----------------------------------------总计:6120元一些结论和建议1.在我们的方案中,内存是最最最最最最值得去投资的部分,想要虚拟盘性能好,无论如何请尽可能的加大服务器的内存数量,4G是最起码的,一般达到8G才会开始产生质的飞跃.如果你的老板真的很穷,穷到连8G内存都买不起的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑行业人才培养和发展方案
- 水泥基渗透结晶型防水涂料的经济效益分析方案
- 校园水环境保洁实施方案
- 餐厅内墙腻子乳胶漆施工合同细则
- 2024年度房地产销售与代理承包合同
- 医药行业临时生产设备方案
- 培训学校性别平等教育制度
- 2024年度土地使用权转让合同转让条件与价款支付
- 私募股权基金投资组合管理制度
- 幼儿园膳食营养评估制度
- 实验室安全日常检查记录
- 脊柱损伤固定搬运术参考课件
- 诗词大会训练题库十二宫格
- 困难职工帮扶救助申请表
- 十字路口交通灯的PLC控制系统设计毕业论文
- 横河CS3000学习资料
- 肘关节以及前臂解剖和手术入路
- 大黄具有抗菌作用
- Q∕GDW 10364-2020 单相智能电能表技术规范
- C语言ppt课件(完整版)
- 网线的制作与测试教案
评论
0/150
提交评论