让你的网吧提速20倍突破硬盘存储瓶颈文档格式.docx
《让你的网吧提速20倍突破硬盘存储瓶颈文档格式.docx》由会员分享,可在线阅读,更多相关《让你的网吧提速20倍突破硬盘存储瓶颈文档格式.docx(54页珍藏版)》请在冰豆网上搜索。
实际上,网吧客户端常读取的数据中,总数据流量的74%的都在8G以内数据,93%流量的都在120G以内的数据。
因此,一般情况下,8G的服务器内存,120G的固态硬盘已经可以满足绝大部分网吧的需求。
像这样的一台服务器,成本只需要增加3000元,整个服务器的成本也不过在6000元左右,足以轻松让一个500台客户端的大型网吧流畅运行,这可不是任何传统的无盘系统办得到的事情。
在安全性能、可维护性等方面,它却兼备有盘网吧和无盘网吧的优点。
当云计算模式已经普遍应用的今天,让我们发挥网吧集群电脑的优势,开挖硬件的最大效能吧。
有盘或是无盘哪个更好已经不再重要,重要的是把93%的数据存放在虚拟盘服务器的内存和固态硬盘上,“系统+虚拟盘系统”才是未来网吧的王道!
说到虚拟盘本身,相信很多的网管兄弟已经熟的不再熟了,现在的网吧,几乎每个网吧都会使用虚拟盘,但是如何用好虚拟盘,把虚拟盘真正的实力发挥出来呢?
据我到全国各地网吧观察到的情况,其实能达到理想效果的网吧仍然是非常少见的.
我本人从2001年开始进入网吧直到现在.弄过的网吧也有几十家了,现在虽然因为工作太忙,网吧不太去了,但是还管着一大一小两家网吧,琢磨这些东西也能
有点年头了,有一些小小的心得,丢出来和大家一起探讨一下,认为我说的有道理,就给点掌声,认为我在胡扯,那就丢点烂西瓜臭鸡蛋什么的.
也许有些观念和您以前的认知完全相反,也许你完全不能认同我的观点,没有关系,大家一起来讨论吧!
第一篇:
<
虚拟盘的价值>
所有的网吧工具和软件,都是为网吧管理而服务的,并最终为网吧生意服务.我们网管在使用这些网维软件,应该时刻都要记得,我们不仅仅要让网吧能够正常运转,最终是要让网吧的生意变得更好.
怎样让网吧生意更好,这里的原因和手段太多了,我不是来讲网吧经营的,我就仅仅从技术角度来看,咱们网管可以为网吧的生意做些什么:
1)
稳定(网吧的根本,没什么可说的)
2)
快(让顾客爽)
3)
多(满足各种顾客的需求)
4)
好(游戏优化,更新及时)
5)
省(给老板省点钱,省钱就是赚钱呀)
满足这5大要素的网吧,基本上技术就到极致了.剩下的就是技术外的问题了.
这5大要素当中,我们如何去做呢?
我的答案非常简单,弄好你的虚拟盘,把所有的游戏都放在虚拟盘上,本地的硬盘就只放个系统就可以了.
相信很多人要问了,这样真的可以吗?
速度够吗?
带的起吗?
我可以很明确的回答:
完全可以!
一台5千元的服务器就可以带150台,一台1万元的服务器可以带300台,一台2万的服务器几乎可以带上一千台,不但可以带的起,而且还比本地硬盘还要快的多的多!
这样的做法有很多的好处,我总结了以下十大优点:
无人值守自动更新游戏,无需推送到客户端,无需额外管理
好的虚拟盘,可以达到几乎无限的速度,完全突破系统的瓶颈,远比本地硬盘快的多.到底有多快,我在后面就会说明.
容量扩展将变的更加简单,现在1.5T的硬盘也就8xx元,弄2个装上,代价不过16xx元而已,3T的游戏空间啥游戏不能装?
玩家启动游戏没有更新过程,完全无需等待
不会出现因为磁盘空间不足导致的游戏误删除,不怕游戏强推
6)
大幅度减少磁盘扫描现象,E盘扫描可以杜绝
7)
客户机方便部署,只需要GHOST系统盘
8)
只要服务器管理得当,游戏分区不再有病毒问题
9)
方案同样适用于所有的无盘,让无盘只负责C盘和回写,游戏完全交给虚拟盘来进行管理,既减少了无盘服务器的负载压力,又方便而易于部署
10)
其实,弄个好的虚拟盘服务器并不贵,平均摊到每客户机成本还不到50元,网吧如果旧硬盘不更新的话,硬盘上省下的钱远不止这点.
明白了这些好处,接下来的问题就是如何去用好虚拟盘.
我的文章会从以下几个方面展开:
一些基础的知识
硬盘的基本原理和性能分析
虚拟盘的性能分析
虚拟盘的负载能力
虚拟盘在网吧中的实际应用
典型案例和推荐方案
一些问题
这个"
系统+虚拟盘"
的方案,它并不是一个新鲜的概念,曾经有许多人也做过积极的尝试,有部分人很成功,而更多的人,因为无法解决高负载情况下的服务器性能问题,而放弃尝试.问题在哪里呢?
我在后面要讲解的,就是这些成功的秘诀.
(未完待续)
第二篇:
卡?
不卡,慢还是快?
带的起,带不起?
>
看到一些朋友的回复,说说我的观点.
12楼问:
和无盘有优势吗?
我的回答:
无盘可以理解成另外一种虚拟盘,是一种把系统也放在服务器上的虚拟盘.
从读的本质来说,虚拟盘和无盘是完全一样的.
他们差别只在于写的问题,无盘服务器需要负载客户机的大量回写,而且写的负担远比读取要大很多.相比较而言,虚拟盘可以将所有的资源用于读,比无盘服务器要轻松的多.
所以,在速度上,它们并无本质区别.
好了言归正传,今天继续开讲,先来说一些最基本的东西.
第一个问题,网吧怎样算卡,怎样算不卡,达到什么样的条件才不会卡?
这个问题看起来非常的白痴,但是真的要是去问问我们的网管,可能问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进行测试,结果如下:
下载(67.97KB)
2009-8-2610:
35
(图2-1:
PCMARK05测试OCZ固态硬盘)
如图所示,模拟启动XP的速度为27MB/S,模拟程序载入时23MB/S,普通应用18MB/S,只有做模拟病毒扫描时才达到104MB/S.
初步的结论:
我们这样的机器,对数据的需求最高不超过30M,在绝大多数时候,数据流量在10M以下,那么几百MB/S的硬盘是我们需要的吗?
不不,事情绝对不是那么简单的,硬盘中还隐藏着很多不为大家所熟知的秘密,
下一节我会用非常大的篇幅来仔细的讨论这个课题.
接下来我们说说负载问题,对虚拟盘服务器来说,怎样算带的起,怎样算带不起?
我的方法也很简单,找出虚拟盘服务器整个系统中最薄弱的环节,仔细测量薄弱环节的性能和能力,按照客户机平均读取流量,计算服务器能负载的极限值,然后,为服务器留出3-5倍的性能余量.这样基本上就是带的起了.
有很多种方法可以测量服务器的负载情况,如果你对自己服务器的性能掌握不太清楚的话,可以自行监测一下.
多数虚拟盘服务器的瓶颈都在于硬盘,我这里提供一个简单的监控硬盘性能的方法.
在服务器上打开性能.管理工具程序开始
下载(55.32KB)
(图2-2:
WINDOWS自带性能监视工具)
然后选择计数器日志,新建一个磁盘监控的任务,再添加一个计数器,选择硬盘(physicaldisk),选择你要监控的磁盘分区,然后从列表选择计数器:
%disktime,然后将时间周期设定为1秒,这样,系统会每一秒钟记录一次磁盘的运作情况,输出为csv格式,可以直接用excel打开分析.
如下图:
下载(96.97KB)
(图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分析成图表如下:
下载(67.04KB)
某网吧虚拟盘服务器高峰时段的硬盘读写时间图)
分析整整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硬盘:
硬盘的工作原理,可以从这段视频中清晰的看到
这段视频展示了我们在删除,复制粘贴,快速格式化时,磁头的相应工作情况,印象最深的是磁头疯狂摆动的样子.
我们先来了解一些硬盘的基本概念,如图是硬盘的盘片的示意图:
下载(74.97KB)
(图3-1:
硬盘中的盘片示意图)
磁道
磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道(Track)。
磁道从外向内从0开始顺序编号。
信息以脉冲串的形式记录在这些轨迹中,这些同心圆不是连续记录数据,而是被划分成一段段的圆弧,每段圆弧叫做一个扇区,扇区从“1”开始编号,每个扇区中的数据作为一个单元同时读出或写入。
一个标准的3.5in硬盘盘面通常有几百到几千条磁道。
磁道是“看”不见的,只是盘面上以特殊形式磁化了的一些磁化区,在磁盘格式化时就已规划完毕。
扇区
操作系统以扇区(Sector)形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。
一个扇区有两个主要部分:
存储数据地点的标识符和存储数据的数据段,标识符就是扇区头标,包括组成扇区三维地址的三个数字:
扇区所在的磁头(或盘面)、磁道(或柱面号)以及扇区在磁道上的位置即扇区号。
簇
簇就是更大的扇区,它可以是一个扇区、也可以是2个、4个、8个等等,它究竟有多大是在高级格式化的时候决定的。
把相邻的若干个扇区组合起来就是一个簇,和扇区一样,一个簇内不允许存在两个文件,因此当储存一段比单个簇的容量还要小的数据时,会浪费一些储存空间。
比如镞是64K,那么那怕只有一个字节的文档,也会占用64K的空间,对于QQGAME之类的小文件极多的游戏,浪费的空间是很大的.
簇就是我们在格式化的时候,可以选择的区块大小,从512B---128K不等,如果我们选择比较大的簇,空间会比较浪费,但是虚拟盘出盘的流量会大为减少.如下图:
下载(65.26KB)
(图3-2:
虚拟盘出盘数据量)
这是个1.5的硬盘,几乎装满了游戏,但是出盘仅仅只要读取3M数据,这个分区是用64KB为单位进行格式化的,如果使用32KB的簇,那么出盘流量就会变成2倍:
6M,如果使用默认的方式格式化(512B),那么出盘的流量就会达到300多M,这样的数据是很恐怖的,对分区硬盘大的的服务器会导致出盘的效率极度低下.
来看看这么一张截图,是用HDTUNE测试硬盘基准测试:
下载(89.76KB)
(图3-3:
HDTUNE文件基准测试图)
对一个硬盘分别采用从512B,1K,2K…8M等从小到大的不同区块大小,进行测试读写速度,总的速度来看是逐渐升高的,到64K以后,就基本持平了,对于过小的区块大小,磁盘读取后数据的处理时间还赶不上磁头读取的速度,因此小区块造成的速度衰减是非常明显的,我们在后面的测试当中,大部分都基于64K的区块,这样反应的数据比较有价值.1M,8M这样的区块大小我不会在测试中采用,对真实应用的指导性不大,因为我们一般的虚拟盘都是基于512B-64K之间的大小来进行格式化的.
区块大小对于虚拟盘的测试会产生非常大的数据偏差.在客户机上测试网维大师的虚拟盘,用512K区块时,可以达到90M以上的读取速度,但是在64K时,只有55M的读取速度.常常在论坛上看见很多比拼虚拟盘或者无盘的读取速度,很多人都没有注意这个区块大小的问题,不同区块大小造成的测试结果偏差导致很多比拼失去了公平的意义.
&
Oslash;
平均寻道时间(Averageseektime):
指硬盘在盘面上移动读写头至指定磁道寻找相应目标数据所用的时间,它描述硬盘读取数据的能力,单位为毫秒。
寻道时间和这几个因素有关:
盘片大小,磁头移动速度.
平均潜伏时间(Averagelatency time):
指当磁头移动到数据所在的磁道后,然后等待所要的数据块继续转动到磁头下的时间,一般在2ms-6ms之间。
潜伏时间和盘片转速关系最大.
平均访问时间(Averageaccesstime):
指磁头找到指定数据的平均时间,通常是平均寻道时间和平均潜伏时间之和。
平均访问时间最能够代表硬盘找到某一数据所用的时间,越短的平均访问时间越好,7200转的SATA硬盘一般在11ms-18ms之间,典型的15000转SAS硬盘一般在5ms-8ms之间.现在,一般在说的平均寻道时间往往指的就是指平均访问时间,我们在后面也用平均寻道时间来代表这个平均访问时间.
Sata硬盘的性能取决于2大指标:
一是硬盘的转速,转速越高性能越好,一般的sata硬盘转速都是7200转,也有少量的5400转产品,多用在笔记本上,西数还有一种特别的迅猛龙硬盘,是一万转的,盘片是2.5寸的,比普通硬盘的3.5寸盘片小很多,转速高,盘片小,使得迅猛龙硬盘在寻道时间上比普通硬盘缩短了近一倍的时间,实际性能已经很接近于sas硬盘了.
二是磁盘的单碟容量.存储密度的提高对性能提升是很有好处的,在磁头划过同样的距离时,密度越高的磁盘,读取的速度自然越多.这点对顺序读取的性能提升尤其非常明显.
普通的硬盘有多快呢?
我们先看一个截图:
下载(99.37KB)
(图3-4:
HDTUNE测试希捷11代盘顺序读取)
硬盘是希捷11代的1.5硬盘,单碟容量500G,是当今最快的SATA硬盘之一.(因为测试的时候服务器还在提供负载,所以曲线不是很平滑).这个测试显示的是硬盘连续读取的状态.使用的工具是HD-TUNEPRO3.50版本.
从这个图看,该硬盘的外圈速度已经达120MB/S以上,速度应该是非常理想了,但是我们来看另一个测试:
下载(90.13KB)
(图3-5:
HDTUNE测试希捷11代盘随机读取)
还是那个硬盘,这次我们测试的是随机读取的速度,在硬盘中随机选取N个小点,每个小点代表64K的数据.
和上面连续读取的条件一样,都是读取64K的区块,结果速度降到了3.577MB/S,相差了近30倍.
为什么有如此大的差异呢?
因为硬盘的性能指标中,读取数据的性能远大于寻找数据的性能.
读取一个64K的数据,硬盘只需要1/2000秒,也就是0.5MS(毫秒)
但是要找到这个64K的数据,硬盘需要花费1/57秒的时间,也就是17MS.
这两个性能相差了30多倍.如果硬盘花在读取数据上的比例多,性能就会很好,如果硬盘花在寻找数据的比例多,那性能就会变的非常糟糕.
那么,在实际应用当中,哪个数据更有参考意义呢?
我的结论是硬盘的随机读取速度才代表硬盘的真正速度,因为实际在网吧里的应用大部分都是随机读取的过程,为什么这么说呢?
原因有以下几点:
客户机上的硬盘很难将文件排列整齐,随着硬盘满了删,删了写,满了又删,长久以往,硬盘上的游戏难以按顺序排列,而且碎片很多,而网吧的环境又很难常常去整理硬盘,如果不幸用的是300G以上的硬盘,那整理的过程是会让人崩溃的.
就算是初次刻盘,将文件都好好的排好了,也不会是连续读取,因为基本没什么游戏会对硬盘的读取顺序进行优化,多数的游戏里面文件排列的规则都是按照开发人员易于管理的方式进行排列,比如素材这类的放在一起,地图这类的放在另一个文件夹里,人物的画面又放在其他文件夹里等等,这样的游戏在读取的时候,必然是地图要读,素材要读,界面要读,人物图片要读,这必然是”随机读取”的过程.
对硬盘来说,就算是读取连续文件,但是如果存在2个或者2个以上的读取线程,那就马上变成随机读取了,硬盘的磁头会不停的移动,一会去内圈为A进程读取,马上又去外圈为B进程读取.在XP