论坛首页 综合技术论坛

浅谈小型网游服务器端技术架构成本分析

浏览 10739 次
精华帖 (5) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-31   最后修改:2010-01-31

       俺不敢说大型网游,是因为市面上那些pc网游我没有经验,不知道怎么做。先说说我经历的网游,wap网游,一款宠物为主的mmorpg,最高峰值在线 2600+,现在我在一家sns游戏公司工作,一款类似开心农场的sns游戏日访问用户40万+,当然,这个网游是主程序架构达的非常不错,我才加入不 久,正在学习中。我做了一个简单类似转盘的模块,每天将近30万独立用户玩。其实俺以前也做过笔记本连锁专卖店,培训用的商业模拟游戏,局域网玩应该没啥 问题,几十人同时在线是可以的,呵呵。
       对于wap网游的架构,一般是一个web server,然后对应一个或者几个数据库,但从架构上讲,不属于分布式的,简单的说,一个用户进入游戏后,他所在的服务器是固定的那一台。类似于这样架 构的游戏,应该大部分web网游和pc网游也是如此。当然,可能会把登陆服务器之类的剥离开来,部分功能实现分布式。而sns网游的架构很不一样,sns 游戏中面对海量用户,在facebook上,月活跃用户超过10万的应用在1000以上。如果这个换成国内的pc网游,比如说5%的付费率,50元的月均 每用户价值,意味着月均25万的收入。呵呵,当然,sns游戏的付费率应该比5%要低,月均每用户价值也要低很多。我目前见到的好几款火一点的sns游 戏,在我看来都应该归于单机类,简单的说,就是游戏内用户之间的交互非常少,绝大部分操作一个人即可搞定。早先我认为这是sns游戏发展的早期阶段,后期 可能还要回归现在流行的网游那种复杂的模式,经过这段时间的学习,我认为事情不是这么简单。
       对于mmorpg,无论是wap网游,web网游还是pc网游,无论是回合制还是实时的,本质的玩法是很接近的。其中有很多团队协作,很多任务不组队根本 做不了,没有公会很多东西得不到,战场上往往都有阵营。这些都是密集的玩家交流,我认为是这些东西决定了一个玩家,只能固定于某一台服务器,或者一个游戏 区里。否则,几十万玩家同处一个虚拟的大服务器,这里面的通信成本太高了。但是聊天服务器估计就得撑爆,而且玩家根本没法看聊天屏幕。这不是简单的技术架 构承载力跟不上的问题,有很多用户体验的问题。
对于wap网友,一台服务器支持2000人同时在线应该不错了。根据一些开私服的经验,一般的私服 在线人数达到1000左右就不错了,当然,这和服务器的配置有关。如果把服务器部分做到分布式,可能能做到万人同时在线吧,据说以前冰岛有个游戏公司就是 如此。不过最关键还是看一个区或者一个逻辑的游戏服务器,要占几台服务器。这个才是关键,因为这涉及到最终每活跃用户的技术成本。比如说,一台普通1万的 服务器,一年的网络通信费用6000,大概16000每年,每月是1300左右的成本,如果对应于2000峰值同时在线,每月的活跃用户应该在 2000*5-2000*10之间,取13000,这样每用户的成本是1毛。当然,这是技术上能达到的每用户成本。但往往很多时候服务器都到不了这个峰值 2000同时在线的水准。比如这个数在1000,这样,每用户成本就在2毛了。当然,这个2毛对于一般的mmorpg来说,属于成本中较小的部分。所以, 虽然技术架构上存在提升空间,但如果运营能力跟不上,可能并不能很好的利用这些技术成本的提升效果。结论是,mmorpg必须达到一定的用户量,有数十台 服务器左右,才能较好的整体考虑降低硬件成本,在未达到规模效应之前,这些架构上的性能提升发挥的作用有限。比如就算达到4000人每服务器,需要的技术 可能高很多,技术成本的提升就不止5万这个水准了,在没达到10台服务器之前,这技术成本的提升还不如多买几台服务器。所以,对于mmorpg,我认为核 心的服务器端架构,在于开发效率和质量上,而不是在性能上,当然,这是在性能满足了2000人同时在线的条件下说的。所以,如果让我再做wap网游或者 java手机网游,性能指标不会定的很高,会更多的采用脚本,以及一些能减少代码行数的成熟框架。当然,如果着眼于开发效率和开发质量,团队的成员的组成 也会有所变化,更多的强调编码规范,增加一些测试成本。
       如果换成sns游戏,比如40万的日活跃用户,这需要10台左右的服务器。而且sns游戏很多是flash,峰值带宽可能要求要高些,还需要cdn这样的 技术分担服务器网络压力。这样硬件+网络成本就比较高了。系统是分布式架构。服务器费用10*10000+网络带宽50000+cdn费用 50000=22万。同样大家可以看到,服务器购买加托管费用不占多少,但网络费用很吓人。由于一般sns的用户生命周期都较短,sns游戏的玩点决定了 用户不太可能玩很久,这样,平摊到每月,每月的成本是2万。每用户的月均费用是0.05元。这个成本相对于我知道的sns游戏的平均用户价值,我认为还是 偏高了,所以这个时候性能的提升还是很重要的。而且,大头在网络上。当然,架构的性能也很重要,性能好点差点,可以把初始的硬件成本大大下降。这个性能提 升的价值可能到10万左右。因为基本上sns推广成本相对偏低,相对可以较快的让服务器达到它能承受的负载。对于sns的架构,我认为一是把单机游戏做的 更耐玩,增加游戏黏性,这需要前期架构较易扩展,二是新的游戏开发周期较短,有较小的试错成本。为什么我不推荐sns游戏像mmorpg那样做大而全的 呢?是因为我觉得sns游戏大部分都是非核心用户。就像现在的流行乐坛,陈小春这样的人歌都可能风靡一阵,偶像派盛行,实力派不是那么百战百胜的。梅艳 芳,郑秀文这样的歌坛天后在办演唱会的时候,都有百变天后的称号。所以,sns游戏应该像梅艳芳,郑秀文这样的歌星学习,这样才有机会领10年风骚。而且 sns游戏应该坚持做有趣的单机游戏,或者增加一点简单网对战,避免公会,阵营这样的设计,这样在系统架构上不会有多大改变。减少架构改变成本。
       呵呵,本来我是一个比较偏重于架构性能的,但通过成本分析后发现,服务器性能提升带来的改变的收益真的不算很大,网络的优化可能相对更重要些,比如sns 的web页面网游,可能不需要cdn,只需要双线,应该可以省一些网络成本。另外,峰值性能可能还不如峰值网络传输的优化重要。而且大家如果把服务器增加 到100台,才发现这样可能省50万,但根据经验,由于摩尔定律,这个50万可能会打个对折。与对应规模的网游的人员工资比起来,真的不算什么。所以,对于规模 尚小的网游开发团队而言,开发效率和开发质量是核心问题,对于测试,自动化脚本测试,以及动态部署,快速更新这方面,可能更需要引起重视。

   发表时间:2010-02-11  
没看出来有什么技术含量。
0 请登录后投票
   发表时间:2010-02-11  
hehe,不是市面上那种动辄一两年的大型网游,也没啥真正的技术含量。没想到这个博文推到首页了。说真的,做这个成本分析是希望今后在技术上在保持现有的性能上,更多的关注提高游戏运维的效率,如一键式的更新部署,动态更新,快速开发上,另一方面是希望能在游戏质量上能真正迈出一步,在测试方面能有所进展。如果真要说技术含量,在后面这两个方面做的好,比如在游戏测试上,自动化脚本测试,比提高架构的性能要强很多。欢迎拍砖。
0 请登录后投票
   发表时间:2010-02-11  
现在网游服务器基本是
frontserver, authserver,gameserver,dbserver组成
或者再加上 gameagentserver和dbagentserver
各server见通过socket使用自定义报文进行去通信
然后一组服务器上线后,看游戏人数再加相应的server
当然当人数到达一定程度,加硬件没办法解决就开新分区了。

可以明确告诉楼主,现在做游戏的人,基本没人计算单玩家成本的
因为,在中国玩游戏,大家注重的是体验
要想有好的体验要看玩家喜好程度,除了游戏策划的好玩还有网络好,硬件强等等因素左右
所以大家都没办法左右玩家的喜好,只能先把自己的网络,硬件弄好因为这些是可以控制的。
0 请登录后投票
   发表时间:2010-02-11   最后修改:2010-02-11
楼主说的这真是经验之谈 ,书本上学不到的了。 谢谢分享。  再多写写技术架构的东东 。
0 请登录后投票
   发表时间:2010-02-12  
分析成本的部分很不错啊
0 请登录后投票
   发表时间:2010-02-17  
首先感谢lz的分享,^-^,能上首页说明大家都比较关注。

看了几遍,lz大概是说:
1. 这不是简单的技术架 构承载力跟不上的问题,有很多用户体验的问题。——结论1
2. 所以,对于mmorpg,我认为核 心的服务器端架构,在于开发效率和质量上,而不是在性能上——结论2
3. 服务器性能提升带来的改变的收益真的不算很大,网络的优化可能相对更重要些——结论3
我自己总结一下就是:对于小型网游服务器,与其提升服务器性能,不如提升开发效率和质量或网络的优化划得来。

不知道总结的对不对,也希望lz可以把文字再整理一下,便于交流~~
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics