全球数十万玩家的丝滑体验,LoadRunner Professional 性能测试满力驱动
发布时间:2022-11-10

「Focus · 焦 点 」成功案例大赏



Ntrance 总部位于韩国,是大型多人在线角色扮演游戏(MMORPG)“DK Mobile”的制作公司,也是一个初创软件公司。

DK Mobile 经由原始桌面游戏的开发公司 Masangsoft 授权,通过 Unity 引擎开发;初版于 2021 年 5 月推出,截止今年 8 月,在韩国 Google Play 的免费角色扮演游戏排行榜上位居前列。


通过 LoadRunner Professional 开展游戏性能测试,Ntrance 大幅优化了 DK Mobile 的性能与稳定性表现,全面提升了玩家忠诚度,促进游戏内消费以提高业务收入。


游 戏 性 能 测 试

挑战大型网游的测试瓶颈


众所周知,要测试多人网游的性能非常困难——且不说玩家人数难以预估,他们还经常突破设计者的预料开展各种互动。当涉及 DK Mobile 这样复杂的大型多人在线角色扮演游戏(MMORPG)挑战就更明显了,游戏设定的世界本来就很大,有各种复杂的物品与道具;尤其是它还提供了多种角色定制化选项,以及开放世界模式,让成千上万的玩家自主选择他们的游戏路径。Ntrance CEO Kim Byung Su 坦言:

“我们需要全力支持全球跨时区的数十万名玩家,所以 DK Mobile 必须全天候稳定运行。虽然游戏提供免费下载,但我们通过用户的游戏物品交易获得收入,性能故障或停机事故等对业务有直接的财务影响。”

为最大限度地提高游戏服务器的性能和可靠性,Ntrance 希望测试一些潜在游戏场景,特别是购买机制和 gacha(玩家花费游戏币,并获得随机的游戏物品作为回报)。这些交易机制是公司关键的收入来源,因而保持顺利、稳定运行比什么都重要。Kim 继续道:

“游戏的性质决定了我们不能要以用户交易为基础,还必须模拟用户行为才能进行性能测试。由于游戏是在 .NET 上用 Unity 和 C# 开发的,我们需要一个完全支持 .NET 协议的性能测试平台。”


游 戏 性 能 测 试

LoadRunner 轻松模拟复杂场景


通过与实施商 Cleversoft 合作,Ntrance 选择了 Micro Focus LoadRunner Professional 作为性能测试战略平台。Ntrance 首席开发人员 Han Min Ho 表示:

“我们发现其他解决方案几乎不可能准确测试性能,但 Micro Focus LoadRunner 提供了对 .Net 的完整支持,它还支持测试‘左移’,让开发人员更容易参与到性能测试之中。它类似 IDE 的直观界面、负载控制和高度可访问的结果分析界面等正在帮我们加速测试效率。”

Ntrance 在 AWS 云端部署了 LoadRunner 控制器和 10 个负载生成器;同时,用于性能测试的目标环境在一个独立 AWS 环境中运行。目标环境包括一个游戏引擎“IRUN Factor”(在韩国广泛使用的游戏服务器)、一个用户认证服务器以及一个数据库服务器。Han Min Ho 说:

“游戏的异步进阶特点产生了巨大的测试负荷,我们需要多达 25 个负载生成器,每个生成器基于 8 核的 AWS 实例,有 32GB 的内存,以模拟多达 5,000 个并发虚拟用户的工作负载——这是我们的游戏引擎每一生产实例一般支持的用户数。”

由于该游戏架构实在太复杂,用 LoadRunner Professional 的本地录制器创建测试场景很不现实。相反,Cleversoft 和 Ntrance 选择了 LoadRunner Professional 的 .NET 框架,以编程的方式创建测试。Han Min Ho 表示:

“从 .NET 开发人员的角度看,为 LoadRunner 编写测试很简单。我们用 C# 编写的 VuGen 脚本创建虚拟用户,再通过LoadRunner 连接至游戏服务器,以执行游戏脚本动作序列。”

Ntrance 用 LoadRunner Professional 运行了好几个不同的性能测试场景,从 10 分钟调用游戏服务器功能的单元测试,到长达 8 小时的对长期运行的复杂场景的浸泡测试,以检查系统资源是否随时间推移产生泄露。Han Min Ho 说:

“LoadRunner 让我们得以完整模拟玩家可能执行的真实动作。我们选择了 28 个最常用的动作进行性能测试,并为每个动作创建了详细脚本。这些脚本被储存起来以被轻松重用。”

举例说明,某个“游戏连接”脚本的逻辑是要虚拟用户排队登陆以连接游戏服务器,创建角色后访问该角色。一个更复杂的例子是“公会”脚本——公会是有共同目标的玩家自愿组成的团体,内容包括公会创建、成员出席、捐赠、敌对公会的注册/删除、指挥官任命、自愿职位的安置/释放、成员即时移动到公会共享位置、撤退以及解散等等。 

当运行性能测试脚本时,Ntrance 一直监控着资源使用情况,包括 AWS 的虚拟 CPU 和内存。测试结果表明,DK Mobile 的性能以线性方式扩展。在一个游戏引擎、32 核的 AWS 实例上 5,000 个并发用户的 CPU 使用率在 95%。结果还强调了角色加载时间的延迟,以及当太多用户同时传送到同一地点时,操作系统网络缓冲区的容量限制导致了不稳定性。基于这些发现,Ntrance 开发者得以调整游戏逻辑来优化性能表现。

LoadRunner Professional 的好处不只如此——除提供实时仪表盘,使开发和测试人员在测试过程中监测性能,它还能采集储存大量数据,以便 LoadRunner Analysis 对测试后的内容进行审查,此举旨在支持用户通过合并/叠加图表进行深入调查等。Kim Byung Su 坦诚道:

“我们主要看 LoadRunner 分析中的响应时间、并发用户数和资源利用率图,合并功能图表对我们非常有帮助。”


游 戏 性 能 测 试

LoadRunner 与时间赛跑


尽管 DK Mobile 的典型游戏场景很复杂,但 LoadRunner Professional 全面覆盖了 Ntrance 需要的全部关键元素,包括游戏内交易的一致性和完整性。Han Min Ho 说:

“一致性测试帮助我们修复错误、避免崩溃并突破用户体验中的瓶颈,我们可以立即看到结果,并对图表趋势进行更深入的分析,以更好地了解不规律表现背后的成因。”

可喜的是,随着测试“左移”化,性能测试逐渐成为一项团队合作——开发者也开始参与到这一过程中。

“对于性能工程师来说,Micro Focus 解决方案解决了脚本编写的难题,现在能更容易发现和解决性能瓶颈;对于开发人员而言,LoadRunner 的建议让他们将注意力集中在解决问题更关键的点上。”

一般而言,测试脚本和结果分析是性能测试工作最耗时的两项。而 LoadRunner Professional 提供对虚拟用户所有交互活动的有效实时信息,借助这一实时仪表板,Ntrance 可以随时查看所有关键状态,包括预期之外的行为。通过加速上述两项工作用时,Ntrance 节省了大量时间和精力:

“与 JMeter等开源工具相比 LoadRunner 的表现非常好,预计总测试时间已经缩短了 1 个月或更长时间。

LoadRunner 被公认为是游戏性能测试的最佳解决方案,它能支持其他解决方案不满足的很多协议,行业研究表明,它完全可以成为行业领导者。我们也相信,从 LoadRunner 得到的结果绝对可靠。”


(文章来源公众号:MicroFocus


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


关于亿道电子

亿道电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。

20 年来,先后与 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA 设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式 GUI 工具等等。亿道电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。


欢迎关注“亿道电子”公众号

了解更多研发工具软件知识