今天刷到一条消息,我盯着屏幕看了好几秒——《魔兽世界:永恒》开测,服务器直接被挤崩了。不是卡顿,不是排队,是崩了。
更离谱的是开发者的反应。高级游戏设计师杰克·格兰菲尔德在推特上说,这是他在暴雪工作17年、在魔兽项目待了近8年以来见过的"最疯狂的数据"。他还补了一句:我们这次做的东西真的离谱。
说实话,这话听起来有点像自夸。但另一位高级游戏制作人汤姆·艾利斯随后发了一份更详细的技术分析,把测试服崩溃的原因一条条拆开讲了。看完之后我觉得,这事儿可能真不怪他们。
问题出在哪?测试服本来就不是给这么多人用的
艾利斯在推特上解释得很直白:这根本不是生产级的服务器集群,差得远去了。魔兽世界的测试服通常不会有太大的流量波动,所以这套环境的配置本身就没那么高。
但这次不一样。由于测试环境只开放了部分地区服务器,海外玩家突然集中涌入,服务器的运算逻辑开始出问题。这就是玩家们漫长征途的结局画面——前面排着队,后面还在挤。
开发者花了"约六小时"才定位到这个症结,因为游戏本身和客服系统都显示负载正常。艾利斯说,他们清楚这套系统触发时需要更多的日志记录和通知机制,但这种没有明显CPU异常伴随的触发情况,所有人都是第一次遇到。二十年了,总能碰到新问题。
崩溃链条:从数据库到CPU,一环扣一环
艾利斯还提到了玩家在拍卖行、日常任务等需要服务器响应的操作时出现的延迟问题。他描述了一个细节:粗骨数据库工程师不得不对某些数据表执行操作,还设置了一些自动任务完成维护,但由于服务器访问量过高,常规的处理路径根本跟不上。开发者一解决这个问题,数据库性能"立刻就恢复了正常"。
之后还进行了服务器重启。艾利斯解释,开服后不久,他们发现运行游戏模拟的服务器池CPU占用飙升,几分钟就耗尽了。空闲池没有被正确关闭,这些进程在慢慢——或者说"其实也没那么慢"——吞噬服务器的CPU份额。开发者找到了修复方案,但需要重启服务器才能生效。测试也借此机会增加了更多区域的服务器,扩充了后端服务,进一步提高了稳定性。
早在2019年,媒体就曾访问过多位开发者,探讨大型网游开服必崩的原因。当时开发者表示,要彻底解决这类开服问题"根本不可能"。魔兽世界:永恒的情况也证明,每次开服总会冒出新的状况。不过话说回来,至少现在修复速度快多了。
老玩家应该还记得那些年
这让我想起当年《暗黑破坏神3》发售,玩家骂了好几个星期都没法好好玩。那时候的修复速度,跟现在完全不是一个量级。当然,这不代表这次就完美了——服务器崩了就是崩了,玩家进不去游戏就是进不去。但从开发者愿意把技术细节摊开来讲这一点看,至少态度是摆在那里的。
至于《魔兽世界:永恒》本身,这次测试爆火至少说明一件事:22年过去了,艾泽拉斯还是有人惦记着。至于服务器能不能扛住下一次,那就得看他们扩容的速度够不够快了。
热门跟贴