游戏托管中的负载测试,第二部分

我们又回来了,Philip Cote再次与我们一起讨论游戏服务器托管的负载测试。如果您刚刚到这里,请务必查看第一部分,我们介绍了游戏工作室在发布游戏之前进行负载测试的原因。现在,让我们直接进入主题!

视频游戏流量有什么特别之处吗?与标准网络流量相比,尤其是在负载测试期间,它有什么区别?

事实是,网络流量已经发展了很多。根据当前的工作方式,您可以在亚马逊上开始会话,但最终可能通过全球40台不同的服务器连接。每台服务器满足您在该网站上体验的不同方面。由于负载均衡器在不同机器之间切换流量,您不必担心您与服务器之间的持续性。游戏流量完全不同。在在线游戏中,玩家需要从会话开始到结束都保持在线。在这种情况下,如果您尝试断开连接,游戏将会丢失。 由于这个特殊的特性,重定向游戏流量从一个服务器到另一个服务器是无法实现的— 至少,现在还不能。 负载均衡器无法用于平衡五台不同服务器之间的负载。与网络流量不同,游戏托管中也无法使用集群。这并不是游戏服务器的工作方式。由于游戏服务器永远不留有计划B的空间,我们在Edgegap致力于在我们的负载测试中实现稳定性。我们检查我们的服务器,看看它们是否能够持续整个比赛期间而没有任何问题。到目前为止,它们可以做到——我们主要将这一成就归功于推动Edgegap解决方案的容器。

您的负载测试通常持续多长时间?

这取决于我们要测试的内容。如果我们关注的是长期稳定性,我们会连续进行七天的测试如果我们想测试我们工具的逻辑,三个小时就已经足够。每次测试的时间框架取决于正在审查的组件。

您之前提到您使用人工智能进行负载测试。您能否进一步阐述这些AI?

转向AI进行负载测试是一个大大改善我们所得到的指标质量的决定。在正常情况下,我们无法从玩家那里获得数据。但是我们基于AI的技术使我们能收集到来自玩我们模拟游戏的机器人的各种第一方数据。诉诸AI也帮助我们始终知道我们是否做出了正确的决定。通过比较每次负载测试结束时的参数,我们可以对每个玩家进行评分。这些分数有助于我们确定游戏选择是否最佳,以及延迟在游戏过程中是否没有受到影响。这些是验证负载测试的指标,只有通过AI才能获得。

在负载测试中,您特别关注哪些内容?

当然!现在,我们在全球有250个位置,这意味着我们可以在所有这些站点上部署任何类型的游戏。我们的目标是到年底实现1000个。这将是全球范围内1000个需要正常运行的站点。当您将一千台服务器聚集在同一个数据中心时,这就成了一项挑战。在1000个不同地点同时扩展成为了一场噩梦,因为您需要监控所有参与的站点。同时。实现这一目标需要可靠的互联网连接,因此我们通常会分配一些内部工具来验证连接,确保所有服务器都能响应。我们使用内部模块每分钟验证每个接入点的健康状态。频繁的检查确保我们的服务不会恶化。  如果某个站点出现这些问题,我们的系统会自动停止向该位置发送游戏。在一天结束时,我们对所有在部署期间失败的位置进行清点。我们还使用机器学习来查看在部署期间反复出现错误的站点。将这些位置列入黑名单是我们确保网络只由无问题服务器组成的方法。

在1000个位置进行负载测试会比在250个位置进行的时间更长吗?

不一定。我们只需要在负载测试中引入更多的玩家,并部署更多的游戏服务器。

当某个位置失败时,您会怎么做?

在负载测试期间,我们系统的自动部分会将失败的站点从选定位置移除。这样,我们就不再向这些站点发送流量。之后,我会跟进故障的供应商。由于多个供应商提供我们基础设施的多个部分,这需要大量跟进。我们敦促供应商修复需要修复的问题,以便我们可以将站点重新上线。我们的解决方案是基于拥有数百台去中心化的服务器,因此在任何时候都最好有尽可能多的站点可供部署。

您是否跟踪每个负载测试并比较结果?

我们会。我们跟踪的变量范围从数百到数千个。再次,这完全取决于每个负载测试的重点。但我们主要关注的组件包括:部署速度、质量、可用站点数量、延迟、抖动、丢包,当然还有成本。在游戏托管中,成本始终是一个关键因素。在Edgegap,我们通过确保我们的服务器始终为可用站点支付正确金额来保护我们解决方案的可行性。我们还比较我们在每次负载测试中使用的机器的大小、类型和效率。因此,是的,我们确实做了许多与过去基准的比较,以确定每个负载测试是否达到了我们的期望。

您使用哪些第三方工具来监控负载测试和您的环境?

总体而言,我们使用许多工具来监控我们的环境。对于与CPU、内存和网络相关的所有内容,我们使用我们的内部监控工具。而我们将所有生成的日志存储在我们的BigData 存储库中。我们还使用此工具分析我们的测试结果。  使用相同工具进行大量负载测试的好处是我们可以准备一些仪表板作为模板并反复使用。我们发现这种策略是资源高效的。然而,我们始终在寻找能够找出对玩家体验起微小看似无关影响因素的新工具。

您如何确保从每个负载测试中学习?

一旦我的团队和我收集到所有指标,我们就会进行总结。我们交换笔记。我们标记什么地方出错或对了。但最重要的是,我们努力回答“我们能做得更好吗?”的问题。确保我的团队充满参与感在我们的负载测试中是我认为不可或缺的。为什么?因为我发现让每个人都参与其中总是能激励他们超越自我。因此每当我们聚在一起进行头脑风暴时,我分享我对下一次负载测试可以做得不同的想法。开发人员也贡献出他们的想法,接下来的人也是如此— 这个过程一直反复循环。当您拥有一个致力于不断改进的团队时,就像Edgegap这里的团队,您会发现这种合作努力会积累成更好、更有洞察力的负载测试。

结论

像古老的占卜方法一样,负载测试是一种看到未来的方法。它们是经过精心计划的、以数据为导向的过程,确保您的游戏在在线比赛中不会中途崩溃,留下您的玩家孤立无援且不满。如果您想了解有关如何在经过成千上万AI玩家测试的去中心化服务器上托管您的游戏的更多信息,请联系我们以开始使用! 

书写者

Edgegap团队

Get your Game Online Easily & in Minutes

Get your Game Online Easily & in Minutes