云游戏
当前位置:时讯云电脑 > 资讯 > 云游戏 >
云游戏运维方面的挑战
发布日期:2019-09-11 阅读次数: 字体大小:

云游戏运维方面的挑战

        云游戏需要维护大量的服务器节点,与普通的服务器管理不同,它们需要构建自己的轮子。因为所有的硬件资源都在高负载下运行,所以我们需要最大限度地利用硬件。一般服务器CPU占10%非常好,而云游戏CPU运行接近100%,还需要GPU的参与,导致硬件可靠性相对较低。
 
        由于没有隔离,软件的可靠性也会降低。一旦出现问题,如何维护和恢复软件就成了一个更麻烦的问题。由于目前还没有现成的解决方案,我们需要设计服务器集群来解决这些问题。还有跨房间部署的问题。
 
        硬件方案的选择主要有三种方案。一种是网格图形卡。这是nvidia为云游戏专门设计的专业显卡。它的编码器可以直接编码和输出游戏图片。但它的缺点是价格相对昂贵。一台服务器的硬件成本约为5万元。
 
        还有一个消费级的独占方案,不需要昂贵的专业显卡就可以获得更好的gpu性能,因此该方案的性价比更高,每个并发硬件的成本可以降低到500元以下。
 
        最后一个方案是intel验证方案。完全不需要使用独立的显卡,但是英特尔核心显卡的性能比较弱,运行大型3D游戏会比较费劲,运行一些休闲游戏也没问题。该方案的优点是不需要显卡,可以加载到1U大小的多个节点,提高了集成度,易于维护。这也是一个值得考虑的方案。
 
        让我们解释一下云游戏中集群的概念。节点(node)对应于物理计算机。一个节点可以同时运行多个游戏实例,为用户提供服务。多个节点组成一个组(节点组)。一个组包含多个节点和NAS,它们对应于一个文件柜。多个机柜由10000个巨型交换机连接,并部署在一个称为群集的计算机室中。上层是云游戏平台,包括用户访问管理、登录计费等。它可以跨越多个计算机机房。

用户配置文件存储用于存储用户的存档数据,日志存储用于存储日志数据、数据库等。
 
        组中的每个节点构成一个对等网络,可以随意添加或删除节点。每个节点通过竞争算法选择一个主节点。船长与经理建立联系,管理整个集团。如果主节点失败,则剩余节点将重新选择一个新的主节点来接管。这样可以确保任何节点的故障不会影响其他节点的正常服务。在节点上,只需要安装操作系统和守护程序服务,而不需要配置即插即用。节点守护进程管理和监视服务器;游戏文件存储在NAS上并由节点共享;Intranet/Extranet通信被隔离以防止交互。
 
        管理器用于管理集群中的所有节点、配置/更新/联机/负载平衡/监控、游戏数据管理更新、用户数据管理等。为运维操作提供web后台,实现运维操作的自动化和可视化。管理器采用双机热备方式实现高可用性,避免了单点故障导致整个系统瘫痪。
 
        日志记录和监视。我们需要有一个完整的日志来记录和跟踪系统行为,以确保整个系统的可维护性。同时,系统将实时监控每个游戏实例和节点的状态,包括CPU的使用率、GPU的使用率、网络IO的使用率、游戏帧速率、延时等。所有数据都已保存。然后,通过一些数据分析方法找出性能瓶颈,有针对性地进行优化,并进一步进行优化我们的系统。



提问:对家用的wifi做一些支持,能详细说说吗?

        乔捷:首先,要提示用户wifi信号不好会造成延迟,终端检测到网络信号不好时及时的提示用户。其次,对于网络延迟的抖动,我们的同步控制算法能够补偿一部分抖动。最后,可以在服务器上调优一下TCP参数,比如说减小数据重传的超时时间,加快数据包的重传,可以有效缓解抖动。

提问:对用户体验有影响吗?

        乔捷:目前肯定有,我们是标清的 720P 的画面质量,因为要考虑硬件成本和网络传输成本。但随着成本的逐步降低,未来要支持1080P甚至4K画质也是没有问题的。

提问:对于 CP 的开发模式有哪些影响?

        乔捷:目前没有影响,我们只是买一个授权,然后由我们进行对接,不需要CP方去改动代码。当然如果 CP 方愿意来对接我们的SDK话那是最好的,可以加入对战、排名、内购等各种功能,利用云游戏的特点为游戏增加更多的玩法。

提问:我们这么多年下来的计算,最早开始所有的计算都是在中心,随着终端计算能力的增强,计算很多功能都到终端上面去,现在你的方案是把所有的终端都放在中心,这对服务器成本要求很高?如果能够容纳一些用户同时运行大型游戏,服务器成本是否会非常高?

        乔捷:对。为什么我们要中心化?因为终端的种类太多了,手机、平板、电视、PC,这么多平台,你一个游戏要去移植这么多平台,本身的工作量就非常大,而且用户要去下载安装,推广的成本非常高,网络游戏单个用户的获客成本已经到了几十到上百块钱。所以,服务器成本表面上看是有点高,但是算上开发成本分发成本推广成本,这点服务器成本已经完全可以接受。

        这就和视频一样,最早我们看视频是买光盘的,后来有了网络以后是从网络上下载,而现在宽带普及了之后已经没有人下载了,都是直接视频点播,因为它方便,门槛越低越容易被用户接受,现在还会有人买光盘吗?基本上已经没有了吧。电视电脑都不是我们的工具了,大家现在用的比较多就是手机。计算资源越来越中心化集中,管理成本不断降低。现在买游戏机、ps3、ps4,每隔 5 年换一个游戏机,以后不需要游戏机更新换代了,更新换代对于厂商来说是一个比较痛苦的过程,有一个漫长的迁移过程。将来根本不用关心什么硬件,比如今年的“吃鸡”游戏非常流行,但是很多玩家的显卡性能不足,跑不起来。将来游戏都是放在服务器上跑,用户根本不用担心跑不跑得动,接上就可以玩。一旦这个服务模式成立,硬件厂商都会向这个方向投入资源,最早2011年的时候我们就预研过云游戏的技术,当时做了以后就放弃,后来看到这个机会以后推出来了grid显卡,一下子拉很高,看这一块商业模式什么时候落地,现在还是在探索的过程当中,将来是大趋势。

提问:除了服务上面成本,要求终端的网络非常好吗?对解码要求高么?

        乔捷:对,因为网络非常普及的情况下,宽带已经无处不在了,所以这个问题基本已经被解决了。现在的主流中低端芯片可以实时软件解码720P的视频流。

提问:我知道游戏有很多种类,目前云游戏技术支持的范围怎么样?云游戏的交互目前为止是否还很有限?

        乔捷:主要是主机游戏,用手柄玩的游戏。看类型,使用键盘鼠标的游戏比如FPS在电脑上比较好操作,在电视上就不太方便了,目前主要还是适配手柄操作的游戏。