与游戏无关,从技术原理聊聊炸服这种事情
10/151723 浏览综合
以下所有言论与当前游戏及厂商无关,如果你觉得有那就是你对
其实从技术角度来看,服务器承载力不够导致炸服是真的非常正常的现象
1.游戏厂商租用服务器不可能按照开服峰值,因为手游的7日留存率很低,平稳期平均日活可能还不到开服十分之一,那么本身租用的单个服务器的在线数量就会很高,一般来说开服厂商肯定会做扩容预备,但是扩容预备的服务器数量肯定也是有限的。
2.一个承载10w人的服务器,并不等于能承载10w的并发,这里有两个原因,第一是十万日活不可能同时在线,第二个是在具体接口层面,接口请求的并发数远远低于日活数,第三,不同接口的服务器资源耗费权重不同,比如登陆操作这种需要查数据库的接口,它的并发能力肯定远远低于公告之类的接口
用数据来描述的话就是
一个服务器目标日活(DAU)为10万。
最高同时在线(PCU),一般来说PCU是DAU的1/10到1/20,就按照1/10, 1万人同时在线。
每秒请求数(QPS),因为这1万个在线玩家,并不是每秒都在操作,假设平均每个玩家每10秒发起一个有效请求(这已经是很高的频率了)。那么,整个服务器的QPS大约是:10000玩家 / 10秒 = 1000 QPS
但是按照这个数据准备的服务器,在开服阶段是很难顶得住的
3.还有一个原因就是开服阶段服务器基本上是冷启动的(0数据,需要新写入大量数据,缓存为空没法起到分流负载的作用等等),然后又因为开服存在热点竞争问题(大量同时请求相同的接口,请求相同资源)会导致很多技术手段其实没法发挥作用。
如果要避免这些问题,那大概率只能是家大业大一开始就按照10倍以上的成本去租服务器,或者游戏本身预期收益非常高(常见于大厂的重点推进项目或者买量新游)能够完全无视服务器成本这一项,而且还需要对应的后端开发有足够的技术积累/经验,所以小厂的游戏炸服真的太容易了,不炸服才是不可思议的事情。

