1分钟赛车查看历史观看记录 - 暴雪揭露《暗黑破坏神 II:复活》服务器问题的根源

1分钟赛车查看历史观看记录 - 暴雪揭露《暗黑破坏神 II:复活》服务器问题的根源

3
Play game
游戏介绍:
1分钟赛车查看历史观看记录 - 暴雪揭露《暗黑破坏神 II:复活》服务器问题的根源
1分钟赛车查看历史观看记录 - 暴雪揭露《暗黑破坏神 II:复活》服务器问题的根源

暗黑破坏神2:复活 推出 , 绝对真实 ——但是随后 服务器立即前往第七圈。 上周 ,玩家经常面临登录问题和中断。听上去,可怜的服务器工程师一定非常讨厌生活。

首先:每当开发者发布 超过2000字的博客 ,你知道这件事确实引起了粉丝的注意。这是对所面临的所有问题的重要解释 暗黑破坏神2:复活 最近,它的范围如此之广,因为问题不是由单一问题引起的,而是由多种问题引起的,从无法处理游戏的受欢迎程度, 其架构,甚至到玩家的效率更高这一事实粉碎 暗黑破坏神 2021年,尘埃落定。

团队提出的第一个主要问题是如何存储玩家的角色和数据。如果您玩过任何动视或 暴雪多人游戏 如果你玩过过去几十年的游戏,你就会知道你通常会登录一组尽可能靠近你所在位置的服务器。它本身不是单个服务器,而是为整个区域提供服务的服务器集群。

无论如何,这些服务器都有自己的区域数据库,用于存储在其上玩的角色的数据。这个是必须的,因为玩的人太多了 暗黑破坏神2 不断地将每个人的数据上传到一个中心点。

“你的大部分游戏内操作都是针对这个区域数据库执行的,因为它速度更快,并且你的角色被‘锁定’在那里以保持单个角色记录的完整性。全局数据库还有备份,以防主数据库出现故障。” 暴雪写道 .

这些区域数据库定期将信息发送回中央数据库,这样暴雪就可以拥有有关 88 级野蛮人, 死灵法师等的单一记录(带有备份)。这听起来一切都很好,直到中央数据库过载并且整个系统(就像处理它的工程师一样)需要小睡一下。

“太平洋时间周六早上,由于流量突然大幅激增,我们遭遇了全球性中断。这是我们的服务器根本没有经历过的新门槛,甚至在发布时也没有经历过。”暴雪解释道。

我们前一天推出的旨在提高游戏创建性能的更新加剧了这种情况——这两个因素结合起来使我们的全局数据库超载,导致其超时。我们决定回滚之前部署的周五更新,希望这能减轻周日之前服务器的负载,同时也为我们提供了更深入调查根本原因的空间。

然而,到了周日,很明显我们在周六所做的还不够——我们看到流量增加得更多,导致我们再次遭遇停电。我们的游戏服务器正在观察与数据库的断开连接,并立即重复尝试重新连接,这意味着数据库永远没有时间赶上我们已完成的工作,因为它太忙于处理游戏服务器的连续连接尝试流。在此期间,我们还发现可以对数据库事件日志记录进行配置改进,这是在数据库发生故障时恢复健康状态所必需的,因此我们完成了这些工作,并进行了进一步的根本原因分析。

这不完全是一个有趣的周末的秘诀。这也解释了为什么玩家在进步方面也遇到了如此多的问题。你选择你的角色,开始游戏,玩一段时间,但区域服务器在中断后无法与中央数据库通信。所以说不出来 暗黑破坏神 2 关于您获得的新装备和 XP 的“基本事实”来源,导致沮丧的玩家失去了他们所取得的一些进展。

从那时起,问题只会变得更糟。这 暗黑破坏神2 服务器恢复上线了,但是是在大多数玩家都在线的时期,所以虽然服务器恢复得很快,但只要几十万就几乎直接崩溃了。 暗黑破坏神2 实例被激发。

如果周末很糟糕,那么周一和周二的情况也好不到哪里去:

这将我们引向 10 月 11 日星期一,当时我们在全球数据库之间进行了切换。这导致了另一次中断,当时我们的备份数据库错误地继续运行其备份过程,这意味着它花费了大部分时间尝试从其他数据库进行复制,而它本应为来自服务器的请求提供服务。在此期间,我们发现了更多问题,并进行了进一步改进——我们发现了一个已弃用但繁重的查询,我们可以从数据库中完全消除,我们优化了玩家加入游戏时的资格检查,进一步减轻了负载,正如我们所说,我们在测试中进一步提高了性能。我们还相信我们已经修复了所看到的数据库重新连接风暴,因为我们在周二没有看到它发生。

正是在这一点上,我脑海中不断听到我哥哥的建议:“永远不要进入网络。”

不知何故, 暗黑破坏神2 还没玩够。澳大利亚时间周三,这款游戏的同时在线人数创下了历史最高纪录—— 经过近一周的持续登录问题和崩溃。 暴雪表示,“仅在一个地区就有数十万玩家”——这可能是很多,也可能是相对标准的,具体取决于暴雪服务器如何定义地区。 (对于例如澳大利亚来说,几十万将是令人印象深刻的。对于像美国这样的“地区”来说,不会太多,但如果该地区是美国的一小部分,那么也许会如此。博客帖子没有在这里指定。)

据开发人员称,造成这一切的最大问题之一是原始版本如何 暗黑破坏神2 处理玩家行为的核心部分。虽然 Vicarious Visions 更新了原版 尽可能地编写代码,项目的很大一部分是保留有效的代码。

这很好,直到它不再开始扩展为止。

暗黑破坏神2 它有一种特殊的方式从中央数据库中提取数据,以确保玩家可以做他们想做的事情。参加游戏?这就是回调中央数据库。想切换角色吗?这是对中央指挥部的另一次检查,以确保你在你离开的地方得到你想要的角色,以及你工作过的所有装备。

暗黑破坏神2, 据该团队称,该系统被设计为集中式。这样做的缺点是,任何时候只能运行该特定服务的一个实例,因此它们无法将部分负载转移到区域服务器上。

“重要的是,这项服务是单例的,这意味着我们只能运行它的一个实例,以确保所有玩家始终看到最新且正确的游戏列表,” 开发人员写道 。 “我们确实以多种方式优化了这项服务,以符合更现代的技术,但正如我们之前提到的,我们的很多问题都源于游戏创作。”

目前,有一系列短期解决方案和路线图需要重写 暗黑破坏神2 的架构,以便它可以更好地扩展以满足现代需求。例如,仅向玩家提供游戏列表的服务正在被分解为自己的服务。

开发人员还将引入登录队列,ala 魔兽世界 ,防止同时启动数十万个游戏实例时服务器过载的情况:

为了解决这个问题,我们有人在登录队列上工作,就像您可能经历过的那样 魔兽世界 。这将使人口保持在当时的安全水平,这样我们就可以监控系统的压力并在游戏完全崩溃之前解决它。每次我们修复一个菌株,我们就能够增加人口上限。 该登录队列已在后端部分实现(目前看来,客户端中的身份验证失败),并且应该在未来几天内在 PC 上完全部署,随后会推出控制台。

玩家也会受到速率限制,但仅限于在短时间内创建, 关闭和重新创建游戏的情况,这主要是玩家在耕种区域的情况,例如 申克和埃尔德里奇 或者 平德斯皮 。 “发生这种情况时,错误消息会说与游戏服务器通信存在问题:这并不表明游戏服务器在这个特定实例中已关闭,它只是意味着您受到速率限制以暂时减少数据库上的负载,为了保持游戏的运行,”暴雪建议道。

老实说,这一切听起来绝对是一场噩梦,我对那些面临着长达数月的追溯修复的工程师感到同情。有一个互联网思想流派认为,暴雪应该预见到这种情况的发生并为此做好计划。但这从根本上来说也是重制版所面临的风险的一部分。这些游戏是在信息和多人游戏服务不像我们今天那样普及或易于访问的时代编写的,而且很难知道许多旧基础设施是否按照我们想象的方式扩展。有时确实如此——直到一切都崩溃成一堆燃烧的火焰。

本文最初发表于 澳大利亚 .

游戏截图:
  • 1分钟赛车查看历史观看记录 - 暴雪揭露《暗黑破坏神 II:复活》服务器问题的根源
标签:

评估:

    留言

    最新游戏

    动作游戏 更多

    查看更多

    角色扮演游戏 更多

    查看更多