• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

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

未分类 博客教主 14年前 (2010-10-08) 5779次浏览 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

相关系列:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:10万在线的WebGame的设计思路(一):服务器数量预估
喜欢 (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