查看文章 |
最具有权威性的虚拟盘终极教程连载——十年网吧经验5
2009-09-17 17:21
第八篇:<虚拟盘的负载能力:下> 神奇的2/8原则 首先,我来解释一下什么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 魔兽世界 200M 除了穿越火线,QQ寻仙等几个腾讯出的BT游戏之外,大部分游戏需要读取的数据都非常的小.在实际游戏过程中也是一样的,除了切换地图,绝大多数的时间,游戏基本都不读什么数据的. 结论就是,尽管游戏容量非常之大,但是其中经常会用到的数据其实非常非常少.
根据上述分析,我们的答案就很简单了. 目前的常见介质的特性如下表所示:
(图1) 内存是性能最好的存储介质,那么我们就应该将最常被读取的数据放在内存里. 其次固态硬盘也是非常好的介质,那么我们就应该将最热门的游戏放在固态硬盘里. ………………………………… 最后,SATA硬盘容量又大又便宜,那么我们就把那些最冷门的游戏放在SATA里. 内容分级存储的典型应用 来看看上次网吧流量测试当中的服务器截图.
|
最近读者:
