本申请提供一种云游戏服务器的压测处理方法、设备、介质及程序产品。该方法包括:接收压力测试指令,压力测试指令用于对云游戏服务器进行压力测试;将压力测试指令中的压力测试脚本封装到协程中,并根据协程生成异步非阻塞的多协程并发请求;将多协程并发请求发送至云游戏服务器,以便云游戏服务器根据多协程并发请求中的压力测试脚本进行压力测试。本申请的方法,可以实现对云游戏服务器的压测,操作简便,实用性和可复用性高,压测效率高。压测效率高。压测效率高。
【技术实现步骤摘要】
云游戏服务器的压测处理方法、设备、介质及程序产品
[0001]本申请涉及计算机处理领域,尤其涉及一种云游戏服务器的压测处理方法、设备、介质及程序产品。
技术介绍
[0002]游戏服务器的压测是指:通过工具模拟大规模用户同时在线的情形,测试游戏服务器的各项性能指标是否正常。通过压测可以获取游戏服务器在一定条件下所能承受的并发用户量、运行时间、数据量等,以确定游戏服务器所能承受的最大负载压力。
[0003]现有的游戏根据运行方式可以分为传统游戏和云游戏,传统游戏在本地主机进行计算和渲染,而云游戏则是以云计算为基础的游戏方式。在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。传统游戏进行压测时,通常开发一套针对游戏协议的压测脚本对游戏协议进行压测,或者针对其他非游戏产品对http协议的接口进行压测,市面上也有一些成熟的压测工具可以使用,比如Loadrunner、JMeter、Locust等。但是,云游戏采用websocket协议而非http协议,传统游戏的压测工具并不适用于云游戏,现有技术并没有行之有效的针对云游戏的压测方法。
技术实现思路
[0004]本申请提供一种云游戏服务器的压测处理方法、设备、介质及程序产品,用以解决现有技术并不能对云游戏进行压测的问题。
[0005]第一方面,本申请提供一种云游戏服务器的压测处理方法,包括:
[0006]接收压力测试指令,所述压力测试指令用于对所述云游戏服务器进行压力测试;
[0007]将所述压力测试指令中的压力测试脚本封装到协程中,并根据所述协程生成异步非阻塞的多协程并发请求;
[0008]将所述多协程并发请求发送至所述云游戏服务器,以便所述云游戏服务器根据所述多协程并发请求中的压力测试脚本进行压力测试。
[0009]在一种可能的设计中,在所述接收压力测试指令之前,还包括:
[0010]向所述云游戏服务器发送长连接请求,以使所述云游戏服务器根据所述长连接请求生成应用程序编程接口;
[0011]相应的,所述将所述多协程并发请求发送至所述云游戏服务器,包括:
[0012]通过所述应用程序编程接口,将所述多协程并发请求发送至所述云游戏服务器。
[0013]在一种可能的设计中,所述长连接请求包括游戏类型,以使所述云游戏服务器根据所述长连接请求中的游戏类型生成对应的应用程序编程接口。
[0014]在一种可能的设计中,所述长连接请求是利用预设的握手协议生成的。
[0015]在一种可能的设计中,所述压力测试指令中的压力测试脚本是利用预设的协程生成单元封装到协程中的;所述协程生成异步非阻塞的多协程并发请求是利用预设的多协程事件驱动单元生成的。
[0016]在一种可能的设计中,在所述将所述多协程并发请求发送至所述云游戏服务器之后,还包括:
[0017]接收所述云游戏服务器反馈的压力测试结果;
[0018]根据预设的性能指标输出所述压力测试结果对应的性能参数。
[0019]在一种可能的设计中,所述预设的性能指标包括接口返回数据、中央处理器总占用率、图形处理器占用率、内存占用率、磁盘数据和运行帧率中的一种或多种。
[0020]第二方面,本申请提供一种云游戏服务器的压测处理设备,包括:处理器,以及与所述处理器通信连接的存储器;
[0021]所述存储器存储计算机执行指令;
[0022]所述处理器执行所述存储器存储的计算机执行指令,以实现上述的方法。
[0023]第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述的方法。
[0024]第四方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法。
[0025]本申请提供的云游戏服务器的压测处理方法,可以接收压力测试指令,将压力测试指令中的压力测试脚本封装到协程中,并根据协程生成异步非阻塞的多协程并发请求;将多协程并发请求发送至云游戏服务器,以便云游戏服务器根据多协程并发请求中的压力测试脚本进行压力测试。通过将包含有压力测试脚本的多协程并发请求发送至云游戏服务器,即可实现对云游戏服务器的压测,操作简便,实用性和可复用性高。此外,异步非阻塞的多协程并发请求还提高了并发请求的发送效率,实现对云游戏服务器的多协程高效率的压测,提高了压测效率。
附图说明
[0026]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0027]图1为本申请一实施例的系统架构图;
[0028]图2为本申请一实施例的云游戏服务器的压测处理方法的流程图;
[0029]图3为本申请另一实施例的云游戏服务器的压测处理方法的流程图;
[0030]图4为本申请又一实施例的云游戏服务器的压测处理方法的流程图;
[0031]图5为本申请一实施例的云游戏服务器的压测处理设备的结构示意图。
[0032]通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
[0033]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0034]首先对本申请所涉及的名词进行解释:
[0035]压测,指的是压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。一般针对网络游戏的压力测试从传统的意义来讲是对网络游戏的服务器不断施加“压力”的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
[0036]封装,指的是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别的一种方式。
[0037]协程,指的是一种在用户空间实现的协作式架构,是一种比线程更加轻量级的存在,一个线程可以有多个协程。
[0038]异步非阻塞,指的是主动请求数据后便可以继续处理其它任务,随后等待请求操作完毕的通知,这可以使线程再数据读写时也不阻塞。
[0039]长连接,指的是客户端发送一次请求,服务器响应请求,双方建立持久连接,并进行双向数据传输。
[0040]现有的游戏根据运行方式可以分为传统游戏和云游戏,传统游戏在本地主机进行计算和渲染,而云游戏则是以云计算为基础的游戏方式。在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种云游戏服务器的压测处理方法,其特征在于,包括:接收压力测试指令,所述压力测试指令用于对所述云游戏服务器进行压力测试;将所述压力测试指令中的压力测试脚本封装到协程中,并根据所述协程生成异步非阻塞的多协程并发请求;将所述多协程并发请求发送至所述云游戏服务器,以便所述云游戏服务器根据所述多协程并发请求中的压力测试脚本进行压力测试。2.根据权利要求1所述的方法,其特征在于,在所述接收压力测试指令之前,还包括:向所述云游戏服务器发送长连接请求,以使所述云游戏服务器根据所述长连接请求生成应用程序编程接口;相应的,所述将所述多协程并发请求发送至所述云游戏服务器,包括:通过所述应用程序编程接口,将所述多协程并发请求发送至所述云游戏服务器。3.根据权利要求2所述的方法,其特征在于,所述长连接请求包括游戏类型,以使所述云游戏服务器根据所述长连接请求中的游戏类型生成对应的应用程序编程接口。4.根据权利要求3所述的方法,其特征在于,所述长连接请求是利用预设的握手协议生成的。5.根据权利要求1所述的方法,其特征在于,所述压力测试指令中的压力测试脚本是利用预设的协程生成单元封装到协程中的;...
【专利技术属性】
技术研发人员:毕瑞鑫,张高祺,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。