服务器数量预估
在线人数预估:
在项目设计之前,需要先对运营后的服务器人数做一下预估,预计激活人数300w,活跃人数40w,同时在线10w。而服务器的设计极限则在激活人数500w,活跃人数60w,最高同时在线15w。
数据参考:
这里之所以预计这么低的激活人数,是从整个服务器考虑的。《热血三国》是将不同的用户放在不同的服务器里,所以单一服务器的激活人数不会对服务器压力产生太 大影响。而如果将所有玩家统一到一组服务器里,则会导致用户表访问压力过大。偏低的激活人数靠定期清理不活跃账户来实现。
数据库服务器数量估计:
服 务器在搭配上,一般分为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
相关系列:
- 10万在线的WebGame的设计思路(五):整体架构和总结
- 10万在线的WebGame的设计思路(四):玩家数据的数据库设计
- 10万在线的WebGame的设计思路(三):地图模块设计思路
- 10万在线的WebGame的设计思路(二):数据库表结构划分
- 10万在线的WebGame的设计思路(一):服务器数量预估