• 欢迎访问MACD实战投资网站,推荐使用最新版谷歌Chrome浏览器访问本网站,关注公众号 丁火甲木庚金 www.macd11.com/subscriptions

10万在线的WebGame的设计思路(一):服务器数量预估

未分类 丁火 14年前 (2010-10-08) 5847次浏览 6个评论

服务器数量预估

在线人数预估:

在项目设计之前,需要先对运营后的服务器人数做一下预估,预计激活人数300w,活跃人数40w,同时在线10w。而服务器的设计极限则在激活人数500w,活跃人数60w,最高同时在线15w。

数据参考:

image

这里之所以预计这么低的激活人数,是从整个服务器考虑的。《热血三国》是将不同的用户放在不同的服务器里,所以单一服务器的激活人数不会对服务器压力产生太 大影响。而如果将所有玩家统一到一组服务器里,则会导致用户表访问压力过大。偏低的激活人数靠定期清理不活跃账户来实现。

数据库服务器数量估计:

服 务器在搭配上,一般分为db服务器和web服务器。在这之前的运营中,通常按照1:1的方式来配置数据库和web服务器,而实际情况可以使1:2的配置比 例。不过在单一世界的设计里,单台db服务器肯定无法满足需求。之前设计过一款策略类webgame,在运营时,每秒sql数为在线人数的1~1.5倍。 不过这个测试数据,是在没有钱全面应用缓存的情况的数据,在新系统里,如果全面应用缓存,并采用类似于Memcache的软件提供数据缓存,这样数据库的 访问压力将可以得到极大的缓解,因此我们暂定吧每秒sql数暂定为在线人数的1倍。正常情况下数据库的访问压力应该为 10w sql/秒 极限数据应该为15w sql/秒。

数据库使用ms sqlserver 2008,在这之前的一个策略类webgame项目,对一台CPU为 E5520核的服务器上做压力测试,得到的数据如下:

Sql数 5k
CPU 50%
硬盘IO 0.5M(突发3M)
网卡流量 30Mbit/s(100M网卡)

按照上面的分析,在正常情况下,我们需要为整个系统提供20台db。Web服务端按照1:1和db做搭配,也将安排20台,预计3个机柜的服务器。

作者:Yahle

相关系列:


macd11.com 和 丁火甲木庚金 公众号版权所有丨如未注明 , 均为原创丨转载请注明原文链接。
喜欢 (0)
[sp91@qq.com]
分享 (0)

您必须 登录 才能发表评论!

(6)个小伙伴在吐槽
  1. 之前设计过一款策略类webgame,在运营时,每秒sql数为在线人数的1~1.5倍。 数据库使用ms sqlserver 2008,在这之前的一个策略类webgame项目,对一台CPU为 E5520核的服务器上做压力测试,得到的数据如下:Sql数 5k CPU 50% 硬盘IO 0.5M(突发3M) 网卡流量 30Mbit/s(100M网卡) 请问这些压测数据是怎么得到了呢 还有 转用 Memcache 时服务端 也应该相应的 进行了 代码修改吧?
    tonic2010-11-12 14:18
  2. 你这个是.net架构的吧,说实在的,用.net架构做webgame比较悲剧,不过你这个跑sqlserver 2008,系统是win2008?如果是跑在win2008里应该好些,因为IIS7比IIS6确实改进了很多。压测数据是怎么得到的,这个问题应该问你们公司负责这块的同事吧,使用的方法不一样,结果也可能不同。
  3. 不懂 望帮忙解答 Sql数 5k CPU 50% 硬盘IO 0.5M(突发3M) 网卡流量 30Mbit/s(100M网卡) 按照上面的分析,在正常情况下,我们需要为整个系统提供20台db 怎么通过这个压测数据算出20台DB的呢
    leo2011-01-14 15:22
  4. 这个需要在实际生产环境里得出的结果才准确。根据我以前维护的一款基于.net架构的大型webgame的经验,每组服务器(3-5台至强E5506以上、8G内存以上)最高负载同时在线在3000人左右。每组一台DB。最高负载量这个其实主要还是取决于游戏的逻辑程序和架构。
  5. Sql数 5k, 是 update ,insert 操作吗? 这怎么可能?
    test2011-08-23 19:13
  6. 5k, 是 update ,insert 操作吗? 这怎么可能?
    hello2013-09-06 15:58