游戏中压力测试的必不可少的选项,UE有没有官方的工具链,来支持对项目中DS来进行压力测试?或者有没有一些比较通用的压力测试的办法
你好,据我所知引擎没有提供自带的完善解决方案,一般来说DS想要得到真实的的模拟数据比较困难,因为客户端可能有同步,移动,动画,寻路,物理等多方面的开销,这些都要真实模拟比较困难,一般做法采用一台机器上开启多个客户端链接服务端,并采用一些模拟输入来替代playercontroller的操作。
这里还有其他相关的case感兴趣也可以参考下:[UDN [Content removed]
[Content removed]
一台机器上开多个客户端链接,这个是在Windows上开多个?如果我要大量的客户端自动化测试,该怎么处理,UE官方有没有从框架层面上提供功能,需要在Linux上面启动很多客户端连ds去进行压测。 你们的堡垒之夜是怎么做的压测呀,一个单局有那么多真实玩家
这个问题我又帮您确认了一下:
目前没有为用户专门提供用于压力测试服务器的工具。Fort 使用了一个手动创建的 Horde Job 和自动化框架连接到一台 AWS 机器上,这台机器可以托管多个Headless Clients连接到远程服务器。这样我们就能够在不让 Bot AI 与服务器运行在同一实例上造成干扰的情况下,采集服务器的性能数据。
对用户来说来说最重要的一点是:可以使用命令行参数 -nullrhi 来运行一个无图形界面的客户端。
这意味着,如果你能设置客户端在启动时自动连接到远程服务器(例如通过支持的直接 IP 地址连接方式),那么使用 -nullrhi 运行可以让你在同一台机器上运行多个客户端,从而更有效地对服务器进行压力测试。
希望这对你有所帮助。
你上面说的 Horde Job 和 自动化框架 这个是使用 -nullrhi 跑起来的客户端吗,这个东西是跑在Linux上的还是跑在Windows上的
是的,通过Horde在云服务器上调用自动化框架实例化出多个禁用图形渲染的客户端进行压测,对于部署两个平台都支持,不过服务端压力测试更倾向于Linux平台
Horde这个平台还没用过,看文档好像很复杂,很多东西都包装在里面,通过它是直接能打包在Linux平台上跑的客户端吗,然后在Linux上使用 -nullrhi 的方式来运行起来,一般压测客户端会启动很多,在Linux 服务器上跑客户端会方便很多。如果不使用horde,有官方推荐的办法来打包跑在Linux server上的客户端吗?
Horde更适合大型项目持续集成的方案,我觉得你可以通过UAT和UBT来构建Linux客户端来获得可执行文件部署在Linux服务器上运行,可以参考官方文档的相关教程
有构建Linux客户端的文档看看么? 没找到在哪,是直接就能使用,不需要额外再去针对为了适配Linux 客户端平台而修改引擎