CN113760518A - 一种信息处理方法、装置及存储介质 - Google Patents
一种信息处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113760518A CN113760518A CN202010507966.XA CN202010507966A CN113760518A CN 113760518 A CN113760518 A CN 113760518A CN 202010507966 A CN202010507966 A CN 202010507966A CN 113760518 A CN113760518 A CN 113760518A
- Authority
- CN
- China
- Prior art keywords
- monitoring result
- utilization rate
- function
- determining
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种信息处理方法、装置及存储介质,所述方法包括:获取进程的源码;在所述进程的源码中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;接收压测机器人发送的应用数据包;通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;根据监控结果确定本地服务器的压力测试结果;当所述本地服务器处于压力过载状态时,根据所述插桩后进程中函数调用关系,确定目标调用路径。本申请根据插桩后进程中函数调用关系可以确定目标调用路径,便于对目标调用路径中函数进行优化,从而减少服务器的压力。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种信息处理方法、装置及存储介质。
背景技术
近年来,随着游戏产业规模的不断扩大,游戏服务器的计算复杂度,网络负载逐渐增大,需要实现自动化工具去评估某个游戏服务器的能力上限,探寻游戏服务器的资源使用热点,从而优化游戏服务器性能,提高游戏服务器的承载能力,降低游戏服务器在高负载情况下的故障几率。
目前业界使用的压力测试工具有多种,大部分用C++等系统编程语言,或者python等脚本语言编写的并发机器人发包工具,主要用于测试网络IO负责能力等。这些并发机器人工具主要是通过并行的方式,模拟机器人发包,实现对设备的负载监测。
还有一些压力测试工具,主要用于特定应用类型的服务器,或者特定的生产试验环境下,这些环境和游戏服务器的生产环境有一定区别。例如流媒体服务器主要是IO密集型,而游戏服务器生产环境兼有UI密集型压力模型和CPU密集型压力模型。
因此,有必要提供一种具有普适性、能够对服务器进行综合性压力测试的方法,并进一步快速确定出中央处理器或内存消耗最大的函数调用路径,便于对其对应的函数进行优化从而减少服务器的压力。
发明内容
本申请提供了一种信息处理方法、装置及存储介质,可以对服务器进行综合性压力测试,并进一步快速确定出中央处理器或内存消耗最大的函数调用路径,便于对其对应的函数进行优化从而减少服务器的压力。
一方面,本申请提供了一种信息处理方法,所述方法包括:
获取进程的源码;
在所述进程的源码中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;
接收压测机器人响应于压力测试请求发送的应用数据包;
通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;
根据所述中央处理器综合使用率监控结果、所述内存综合使用率监控结果和所述单位时间综合会话数量监控结果,确定本地服务器的压力测试结果;
当所述本地服务器处于压力过载状态时,根据所述插桩后进程中函数调用关系,确定目标调用路径。
另一方面提供了一种信息处理装置,所述装置包括:
源码获取模块,用于获取进程的源码;
插桩模块,用于在所述进程的源码中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;
应用数据包接收模块,用于接收压测机器人响应于压力测试请求发送的应用数据包;
监控结果确定模块,用于通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;
压力测试结果确定模块,用于根据所述中央处理器综合使用率监控结果、所述内存综合使用率监控结果和所述单位时间综合会话数量监控结果,确定本地服务器的压力测试结果;
目标调用路径确定模块,用于当所述本地服务器处于压力过载状态时,根据所述插桩后进程中函数调用关系,确定目标调用路径。
另一方面提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的信息处理方法。
本申请提供的信息处理方法、装置及存储介质,具有如下技术效果:
本申请通过在服务器进程中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;并通过插桩后进程对压测机器人发送的应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;从而可根据多个监控结果得到服务器的综合性压力测试结果,提高了压力测试结果的准确率;当服务器处于压力过载状态时,根据插桩后进程中函数调用关系可以确定目标调用路径,便于对目标调用路径中函数进行优化,从而减少服务器的压力。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种信息处理系统的示意图;
图2是本申请实施例提供的一种信息处理方法的流程示意图;
图3是本申请实施例提供的一种通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果的方法的流程示意图;
图4是本申请实施例提供的一种区块链系统的结构示意图;
图5是本申请实施例提供的区块结构的结构示意图;
图6是本申请实施例提供的冒烟测试流程示意图;
图7是本申请实施例提供的信息处理系统的结构示意图;
图8是本申请实施例提供的多个压测机器人协同测试流程图;
图9是本申请实施例提供的压力测试性能热点图;
图10是本申请实施例提供的目标调用路径示意图;
图11是本申请实施例提供的一种信息处理装置的结构示意图;
图12是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本申请实施例提供的一种信息处理系统的示意图,如图1所示,该信息处理系统可以至少包括服务器01和压测机器人02。
具体的,本说明书实施例中,所述服务器01可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器01可以包括有网络通信单元、处理器和存储器等等。具体的,所述服务器01可以用于进行压力测试。
具体的,本说明书实施例中,所述压测机器人02可以通过压测脚本等代码逻辑控制,可以实现在远端应用服务器上登录并模拟用户行为的机器人。例如,针对游戏服务器压力测试而言,压测机器人则是登录模拟游戏玩家行为的机器人,用于为游戏服务器提供“压力”。相较真实玩家的压力测试,可以在同一压测设备中实现大量的压测机器人,因而采用压测机器人进行压力测试,可以使得服务器压力测试的周期及费用大大缩短。一般而言,为简化压力测试场景,压测机器人一般采用发包器模式,即压测机器人实现在同一时间段发送大量的数据包给服务器,并不会对服务器返回的响应数据包进行复杂的处理,从而节省测试时间成本。
以下介绍本申请的一种信息处理方法,图2是本申请实施例提供的一种信息处理方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以应用于服务器中,所述方法可以包括:
S201:获取进程的源码。
在本说明书实施例中,所述进程可以为服务器中进程。
在一些实施例中,当服务器为游戏服务器时,所述进程可以包括:(1)connd:用于建立和保持游戏客户端与游戏服务进程连接的独立服务器进程,负责建立和管理客户端连接;(2)roomsvr:承载主体的游戏业务逻辑,roomsvr通过connd和客户端进行通信;(3)其他非客户端直连服务进程:主要负责与第三方平台通信,以及数据存储等功能。
S203:在所述进程的源码中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程。
在本说明书实施例中,中央处理器(CPU)插桩、内存(MEM)插桩和单位时间会话数量(TPS)插桩可以通过将对应的代码封装成插桩模块后进行插桩。插桩可以采用入侵式的方式,把模块化的插桩功能注入进程的源码中;其中,CPU插桩用于监控进程的CPU使用情况;MEM插桩用于监控进程的内存使用情况;TPS插桩用于监控进程每秒的会话处理数量;插桩模块可以通过编辑代码封装得到,还可以通过参数进行控制,例如,通过设置参数进行插桩,在运行到配置时间后,输出插桩监控结果。
S205:接收压测机器人响应于压力测试请求发送的应用数据包。
在本说明书实施例中,测试人员可以向压测机器人发出压力测试请求指令,压测机器人响应于压力测试请求,向服务器发送应用数据包。
在本说明书实施例中,所述压测机器人可以为一个或多个,所述方法还包括:
接收所述压测机器人在运行过程中产生目标结果时,发送的错误报告;所述压测机器人在运行过程中进行网络通信与事务验证。
在本说明书实施例中,当所述压测机器人在运行过程中产生目标结果时,向服务器发送错误报告并停止运行。
在本说明书实施例中,所述目标结果为非预期结果,所述非预期结果可以包括但不限于逻辑错误、校验失败、通信数量、内存使用率达到预设阈值。
在本说明书实施例中,压测机器人主要提供可以模拟客户端的机器人发包功能。分为两种形式:单机器人模式和多机器人协同模式。机器人由全局ID生成器统一分配机器人ID,然后启动单独的goroutine,每个goroutine处理一个(一组)机器人。Goroutine为golang语言中的轻量级线程,golang为服务器实现所用的并行式编程语言;机器人按需定制行为,循环执行发包-收包-验证任务,模拟并发的客户端行为。多机器人情况下,除了处理自己的消息,还会横向管理,协同多个机器人的状态,进行网络通信与事务验证。如果产生非预期结果,将会停止任务,上报错误报告。例如,当机器人出现逻辑错误、校验失败、通信数量或内存使用率达到预设阈值时,机器人停止当前任务,并上报错误报告。
S207:通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果。
在本说明书实施例中,每个监控结果可以包括监控类型、监控时间以及目标监控结果文件。监控结果可以以可视化方式进行展示。
在本说明书实施例中,如图3所示,所述通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果可以包括:
S2071:确定所述插桩后进程中每个调用函数对应的中央处理器的使用率、内存使用率监控结果和单位时间会话数量监控结果;
S2073:根据所述每个调用函数对应的中央处理器的使用率,确定中央处理器综合使用率监控结果;
S2075:根据所述每个调用函数对应的内存使用率,确定内存综合使用率监控结果;
S2077:根据所述每个调用函数对应的会话数量,确定单位时间综合会话数量监控结果。
在本说明书实施例中,可以根据插桩后进程确定出进程中每个调用函数对应的中央处理器的使用率、内存使用率监控结果和单位时间会话数量监控结果;并基于监控结果,确定每个进程对应的中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果,从而可根据服务器中每个进程的监控结果,确定服务器的综合性压力测试结果。
S209:根据所述中央处理器综合使用率监控结果、所述内存综合使用率监控结果和所述单位时间综合会话数量监控结果,确定本地服务器的压力测试结果。
具体的,在本说明书实施例中,所述根据所述中央处理器综合使用率监控结果、所述内存综合使用率监控结果和所述单位时间综合会话数量监控结果,确定本地服务器的压力测试结果可以包括:
根据所述中央处理器综合使用率监控结果和所述单位时间综合会话数量监控结果,确定中央处理器的压力监控结果;
根据所述中央处理器的压力监控结果以及所述内存综合使用率监控结果,确定所述本地服务器的压力测试结果。
具体的,在本说明书实施例中,在相同的CPU综合使用率下,TPS越高越好,代表单位CPU的使用率越高;对于不同的两个进程,若两者对应的CPU综合使用率相同,则确定TPS低的进程对应的中央处理器的压力较大,需要进行优化处理。
具体的,在本说明书实施例中,所述根据所述中央处理器综合使用率监控结果和所述单位时间综合会话数量监控结果,确定中央处理器的压力监控结果可以包括:
当所述中央处理器综合使用率大于预设使用率阈值且所述单位时间综合会话数量大于预设数量阈值时,确定所述中央处理器处于压力过载状态。
在本说明书实施例中,所述方法还可以包括:
当所述中央处理器处于压力过载状态和/或所述内存综合使用率超过预设阈值时,确定所述本地服务器处于压力过载状态。
具体的,在本说明书实施例中,所述方法还可以包括:
当所述中央处理器处于正常状态,且所述内存综合使用率不超过预设阈值时,确定所述本地服务器处于正常状态。
在本说明书实施例中,可以结合中央处理器、内存的使用率以及单位时间会话数量的监测结果,综合确定出本地服务器的压力测试结果,提高服务器压力测试结果的准确率。
S2011:当所述本地服务器处于压力过载状态时,根据所述插桩后进程中函数调用关系,确定目标调用路径。
具体的,在本说明书实施例中,每个插桩后进程可以调用一个或多个函数,根据函数调用关系,可以确定多个调用路径。
在本说明书实施例中,所述根据所述插桩后进程中函数调用关系,确定目标调用路径包括:
根据所述插桩后进程中函数调用关系,确定至少两个函数调用路径;
根据所述至少两个函数调用路径,确定目标调用路径。
在本说明书实施例中,目标调用路径为CPU或内存消耗最大的路径,确定出该路径之后,可以对路径中的函数进行优化处理,例如减少非必要函数的调用或改进调用函数。
在本说明书实施例中,所述根据所述至少两个函数调用路径,确定目标调用路径可以包括:
根据每个函数调用路径中调用函数的中央处理器的使用率,计算每个函数调用路径对应的中央处理器的使用率;
对所述至少两个函数调用路径按照中央处理器的使用率由小到大进行排序;
将排序末位的中央处理器的使用率对应的函数调用路径确定为所述目标调用路径。
在本说明书实施例中,所述方法还可以包括:
根据每个函数调用路径按照中央处理器的使用率大小,对每个函数调用路径中函数设置不同的标识信息,同一函数调用路径中函数设置同一标识信息,所述标识信息可以为颜色,例如,可以将中央处理器的使用率较大的路径中函数设置较深的颜色,将中央处理器的使用率较小的路径中函数设置较浅的颜色。
在本说明书实施例中,可以通过计算每个函数调用路径中每个函数对应的中央处理器的使用率,确定出每个函数调用路径对应的中央处理器的使用率,从而确定出CPU消耗最大的目标调用路径,从而便于根据目标调用路径,有效减少服务器的压力。
在本说明书实施例中,可以对每个函数对应的中央处理器使用率以及函数之间的调用关系进行展示;并设置目标调用路径的标识信息,从而区别于其他函数调用路径,便于用户直观地获知中央处理器消耗最大的路径。
在本说明书实施例中,所述根据所述至少两个函数调用路径,确定目标调用路径可以包括:
根据每个函数调用路径中调用函数的内存使用率,计算每个函数调用路径对应的内存使用率;
对所述至少两个函数调用路径按照内存使用率由小到大进行排序;
将排序末位的内存使用率对应的函数调用路径确定为所述目标调用路径。
在本说明书实施例中,所述方法还可以包括:
根据每个函数调用路径按照内存使用率大小,对每个函数调用路径中函数设置不同的标识信息,同一函数调用路径中函数设置同一标识信息,所述标识信息可以为颜色,例如,可以将内存使用率较大的路径中函数设置较深的颜色,将内存使用率较小的路径中函数设置较浅的颜色。
在本说明书实施例中,可以通过计算每个函数调用路径中每个函数对应的内存的使用率,确定出每个函数调用路径对应的内存的使用率,从而确定出内存消耗最大的目标调用路径,从而便于根据目标调用路径,有效减少服务器的压力。
在本说明书实施例中,可以对每个函数对应的内存使用率以及函数之间的调用关系进行展示;并设置目标调用路径的标识信息,从而区别于其他函数调用路径,便于用户直观地获知内存消耗最大的路径。
在本说明书实施例中,所述方法还可以包括:
基于区块链系统存储每个调用函数对应的中央处理器的使用率和内存使用率,所述区块链系统包括多个节点,所述多个节点之间形成点对点网络。
在一些实施例中,所述区块链系统可以为图4所示的结构,多个节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在区块链系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
图4示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
在一些实施例中,区块结构(Block Structure)可以为图5所示的结构,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Block chain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
在本说明书实施例中,所述根据所述插桩后进程中函数调用关系,确定目标调用路径的步骤之后,所述方法还可以包括:
对所述目标调用路径中的函数进行优化处理。
在本说明书实施例中,所述目标调用路径包括至少两个函数,所述对所述目标调用路径中的函数进行优化处理包括:
确定所述目标调用路径中每个函数的优先级;
将优先级低于预设级别的函数确定为目标函数,并禁止所述目标函数的调用。
在本说明书实施例中,可以通过设置函数的优先级别,来禁止非必要函数的调用,从而减小服务器的压力。
在本说明书实施例中,所述方法还可以包括:
根据所述进程中每个调用函数对应的中央处理器的使用率,确定每个调用函数的第一展示框图的属性信息;
根据函数之间的调用关系以及每个调用函数的第一展示框图的属性信息,展示中央处理器性能热点图。
在本说明书实施例中,所述方法还可以包括:
根据中央处理器的监控代码,确定所述中央处理器的监控时间、采样时长以及采样率。
在本说明书实施例中,可以每间隔第一预设时间获取每个调用函数对应的中央处理器的使用率以及中央处理器的监控代码。
相应的,所述根据函数之间的调用关系以及每个调用函数的第一展示框图的属性信息,展示中央处理器性能热点图包括:
根据所述中央处理器的监控时间、采样时长、采样率,函数之间的调用关系以及每个调用函数的第一展示框图的属性信息,展示中央处理器性能热点图。
在本说明书实施例中,所述方法还包括:
每间隔第一预设时间,对所述中央处理器性能热点图进行更新。
在本说明书实施例中,所述展示中央处理器性能热点图的步骤之前,所述方法还可以包括:
生成所述中央处理器性能热点图。
在本说明书实施例中,第一展示框图的属性信息可以包括第一展示框图的面积和颜色信息。本申请可以通过中央处理器插桩,得到中央处理器性能热点图,从而可以直观地向用户展示每个调用函数对应的中央处理器使用率。
在本说明书实施例中,所述方法还可以包括:
根据所述进程中每个调用函数对应的内存使用率,确定每个调用函数的第二展示框图的属性信息;
根据函数之间的调用关系以及每个调用函数的第二展示框图的属性信息,展示内存性能热点图;
在本说明书实施例中,所述方法还可以包括:
根据内存的监控代码,确定所述内存的监控时间、采样时长以及采样率。
在本说明书实施例中,可以每间隔第二预设时间获取每个调用函数对应的内存使用率以及内存的监控代码。第二预设时间可以与第一预设时间相同,也可以与第一预设时间不同。
相应的,所述根据函数之间的调用关系以及每个调用函数的第二展示框图的属性信息,展示内存性能热点图包括:
根据所述内存的监控时间、采样时长、采样率,函数之间的调用关系以及每个调用函数的第二展示框图的属性信息,展示内存性能热点图。
在本说明书实施例中,所述方法还包括:
每间隔第二预设时间,对所述内存性能热点图进行更新。
在本说明书实施例中,所述展示内存性能热点图的步骤之前,所述方法还可以包括:
生成所述内存性能热点图。
在本说明书实施例中,第二展示框图的属性信息可以包括第二展示框图的面积和颜色信息。本申请可以通过内存插桩,得到内存性能热点图,从而可以直观地向用户展示每个调用函数对应的内存使用率。
在本说明书实施例中,所述方法还可以包括:
服务器向所述压测机器人发送响应数据包。
在本说明书实施例中,获取进程的源码的步骤之前,所述方法还包括:
对本地服务器进行冒烟测试。
具体的,对本地服务器进行冒烟测试包括:
设置预设数量个压测机器人;
接收预设数量个压测机器人发送的数据包;
向预设数量个压测机器人发送回执信息。
在一个具体的实施例中,如图6所示,压测工具模拟生成多个发包机器人,与游戏服务器建立websocket连接。然后依次进行创建房间(图6中的Cretea Room)->加入房间(图6中的Join Room)->游戏准备(图6中的Prepare Room)->开始英雄选择(图6中的StartPick)-->选择英雄完成(图6中的Set Hero)->进入战斗(图6中的Start Battle)->战斗过程(图6中的Run Battle,100Frame表示战斗过程持续100帧)->设置角色死亡(图6中的Crutial State Chg)-->离开战斗(图6中的Quit Battle)->战斗结束(图6中的GameEndNtf)-。以实现游戏服务器功能的完整性验证。
在一些实施例中,机器人与服务器的连接不仅可以为websocket协议,还可以为传输控制协议(Transmission Control Protocol,TCP),用户数据报协议(User DatagramProtocol,UDP)。
在一些实施例中,可以将多个机器人分布在多台机器上(例如每台机器上分布一个机器人),通过提高并发,扩展机器人用况上限。
在本说明书实施例中,采用机器人模拟客户端收发包行为,验证完整的服务器主要流程,在确定流程完整,即服务器的冒烟测试通过之后,再获取服务器中进程的源码。
在一些实施例中,对于无法获得源码的游戏服务器,压力测试需要用其他工具(例如perf等)替代直接代码插桩,优点是不用进行源码入侵,但是无法精确测试到具体出问题的代码模块。
在一个具体的实施例中,信息处理系统的结构示意图如图7所示,服务器为游戏服务器,游戏服务器中包括后台业务进程和后台服务器进程,后台业务进程包括roomsvr1、roomsvr2、roomsvr3;roomsvr通过connd与压测机器人进行通信;每个进程均设置了插桩模块,每个插桩模块均包括CPU插桩、MEM插桩和TPS插桩;压测机器人可以为一个机器人,也可以为多个机器人,每个机器人由独立的goroutine线程执行,并发连接到connd进程;每个机器人响应于压力测试请求进行登录;当压测机器人为一个时,机器人登录成功后,向游戏服务器发送数据包;游戏服务器基于插桩后进程对数据包进行处理,并向机器人发送回执消息,机器人对回执的正确性进行验证。
当压测机器人为多个时,例如有三个机器人时,机器人1.1与机器人1.2共用一组线程,机器人2.1单独使用一组线程;每个机器人在登录成功之后,均向服务器发送数据包;服务器基于插桩后进程对多个数据包进行处理,并向每个机器人发送回执消息;然后每个机器人均等待其他机器人的协同,协同完成,进入下一步骤。在一个具体的实施例中,如图8所示,通过多个压测机器人协同流程,模拟复杂的客户端用况,进行压力测试,基于多机器人收发包接口,实现了一个多人协同压力测试用例:由房主创建房间(Create Room),其他玩家获取房间列表(Room List),所有人进入房间准备(Join->Prepare),然后进行英雄选择(Choose Hero),房主开始战斗(Start Battle),创建战斗成功后,进入战斗流程,直到结束流程,循环测试。在这一样例中,可以以较低的代价,产生大量测试机器人,对高负载情况下的服务器进行压力测试,压力测试的结果通过插桩监控输出,根据压力测试结果,优化游戏服务器。对此过程进行反复迭代,直到服务器压力指标达标。
在一个实施例中,压力测试结果如图9所示,图中双线框03标注了本次插桩监控的详细信息,包括插桩类型,时间,总的采样时间,采样率等。其中File为文件名,Build ID为哈希值或版本号,Type为测试指标,Time为测试时间,Duration为测试持续时间,Showingnodes accounting for 231.81s,87.07%of 266.24s total,总采样率为87.07%。Dropped 262nodes,Dropped 21edges均为去噪处理,图中一个方框04代表一个node,一个箭头代表一个edge;每个方框代表一种函数,方框中的英文名称为函数名,方框的面积越大,代表函数占用的CPU越多;Showing top 80nodes out of 109,样本量最大的节点(109中的前80个)。
在一个实施例中,得到的目标调用路径示意图如图10所示,其中椭圆框05对应的路径为目标调用路径,对于其中一组数据36.90s(13.86%)of 87.27s(32.78%)的含义是:36.90s与87.27s为运行时间,13.86%为当前函数与其所有子函数中的占比,32.78%为当前函数与其所有子节点函数在总数中的占比;在负载过高的目标调用路径中,当日志模块调用caller函数时,负载过高,针对这一结果,改进了日志模块的实现,引入日志级别,设置每个函数的级别信息,在函数调用过程中,对级别较高的函数进行调用,控制级别较低(非必要)的caller函数调用。在connd进程满载的情况下(TPS到达165000),roomsvr进程的CPU占用从110%下降到60%,优化效果显著。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过在服务器进程中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;并通过插桩后进程对压测机器人发送的应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;从而可根据多个监控结果得到服务器的综合性压力测试结果,提高了压力测试结果的准确率;当服务器处于压力过载状态时,根据插桩后进程中函数调用关系可以确定目标调用路径,便于对目标调用路径中函数进行优化,从而减少服务器的压力。
本申请实施例还提供了一种信息处理装置,如图11所示,所述装置包括:
源码获取模块1110,用于获取进程的源码;
插桩模块1120,用于在所述进程的源码中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;
应用数据包接收模块1130,用于接收压测机器人响应于压力测试请求发送的应用数据包;
监控结果确定模块1140,用于通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;
压力测试结果确定模块1150,用于根据所述中央处理器综合使用率监控结果、所述内存综合使用率监控结果和所述单位时间综合会话数量监控结果,确定本地服务器的压力测试结果;
目标调用路径确定模块1160,用于当所述本地服务器处于压力过载状态时,根据所述插桩后进程中函数调用关系,确定目标调用路径。
在一些实施例中,所述压力测试结果确定模块可以包括:
压力监控结果确定子模块,用于根据所述中央处理器综合使用率监控结果和所述单位时间综合会话数量监控结果,确定中央处理器的压力监控结果;
压力测试结果确定子模块,用于根据所述中央处理器的压力监控结果以及所述内存综合使用率监控结果,确定所述本地服务器的压力测试结果。
在一些实施例中,所述压力监控结果确定子模块可以包括:
压力过载状态确定单元,用于当所述中央处理器综合使用率大于预设使用率阈值且所述单位时间综合会话数量大于预设数量阈值时,确定所述中央处理器处于压力过载状态。
在一些实施例中,所述装置还可以包括:
压力过载状态确定模块,用于当所述中央处理器处于压力过载状态和/或所述内存综合使用率超过预设阈值时,确定所述本地服务器处于压力过载状态。
在一些实施例中,所述监控结果确定模块可以包括:
第一监控结果确定子模块,用于确定所述插桩后进程中每个调用函数对应的中央处理器的使用率、内存使用率监控结果和单位时间会话数量监控结果;
第二监控结果确定子模块,用于根据所述每个调用函数对应的中央处理器的使用率,确定中央处理器综合使用率监控结果;
第三监控结果确定子模块,用于根据所述每个调用函数对应的内存使用率,确定内存综合使用率监控结果;
第四监控结果确定子模块,用于根据所述每个调用函数对应的会话数量,确定单位时间综合会话数量监控结果。
在一些实施例中,所述目标调用路径确定模块可以包括:
函数调用路径确定子模块,用于根据所述插桩后进程中函数调用关系,确定至少两个函数调用路径;
目标调用路径确定子模块,用于根据所述至少两个函数调用路径,确定目标调用路径。
在一些实施例中,所述目标调用路径确定子模块可以包括:
中央处理器使用率计算单元,用于根据每个函数调用路径中调用函数的中央处理器的使用率,计算每个函数调用路径对应的中央处理器的使用率;
第一排序单元,用于对所述至少两个函数调用路径按照中央处理器的使用率由小到大进行排序;
第一目标调用路径确定单元,用于将排序末位的中央处理器的使用率对应的函数调用路径确定为所述目标调用路径。
在一些实施例中,所述装置还可以包括:
第一展示框图的属性信息确定模块,用于根据所述进程中每个调用函数对应的中央处理器的使用率,确定每个调用函数的第一展示框图的属性信息;
中央处理器性能热点图展示模块,用于根据函数之间的调用关系以及每个调用函数的第一展示框图的属性信息,展示中央处理器性能热点图。
在一些实施例中,所述目标调用路径确定子模块可以包括:
内存使用率计算单元,用于根据每个函数调用路径中调用函数的内存使用率,计算每个函数调用路径对应的内存使用率;
第二排序单元,用于对所述至少两个函数调用路径按照内存使用率由小到大进行排序;
第二目标调用路径确定单元,用于将排序末位的内存使用率对应的函数调用路径确定为所述目标调用路径。
在一些实施例中,所述装置还可以包括:
第二展示框图的属性信息确定模块,用于根据所述进程中每个调用函数对应的内存使用率,确定每个调用函数的第二展示框图的属性信息;
内存性能热点图展示模块,用于根据函数之间的调用关系以及每个调用函数的第二展示框图的属性信息,展示内存性能热点图。
在一些实施例中,所述装置还可以包括:
错误报告接收模块,用于接收所述压测机器人在运行过程中产生目标结果时,发送的错误报告;所述压测机器人在运行过程中进行网络通信与事务验证。
在一些实施例中,所述装置还可以包括:
优化处理模块,用于对所述目标调用路径中的函数进行优化处理。
所述的装置实施例中的装置与方法实施例基于同样地发明构思。
本申请实施例提供了一种信息处理设备,该设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的信息处理方法。
本申请的实施例还提供了一种计算机存储介质,所述存储介质可用于实现方法实施例中一种信息处理方法相关的至少一条指令或至少一段程序,该至少一条指令或至少一段程序由该处理器加载并执行以实现上述方法实施例提供的信息处理方法。
可选地,在本说明书实施例中,存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书实施例所述存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的信息处理方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图12是本申请实施例提供的一种信息处理方法的服务器的硬件结构框图。如图12所示,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1210(处理器1210可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1230,一个或一个以上存储应用程序1223或数据1222的存储介质1220(例如一个或一个以上海量存储设备)。其中,存储器1230和存储介质1220可以是短暂存储或持久存储。存储在存储介质1220的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1210可以设置为与存储介质1220通信,在服务器1200上执行存储介质1220中的一系列指令操作。服务器1200还可以包括一个或一个以上电源1260,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1240,和/或,一个或一个以上操作系统1221,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口1240可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1200的通信供应商提供的无线网络。在一个实例中,输入输出接口1240包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1240可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1200还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。
由上述本申请提供的信息处理方法、装置、或存储介质的实施例可见,本申请通过在服务器进程中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;并通过插桩后进程对压测机器人发送的应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;从而可根据多个监控结果得到服务器的综合性压力测试结果,提高了压力测试结果的准确率;当服务器处于压力过载状态时,根据插桩后进程中函数调用关系可以确定目标调用路径,便于对目标调用路径中函数进行优化,从而减少服务器的压力。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种信息处理方法,其特征在于,所述方法包括:
获取进程的源码;
在所述进程的源码中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;
接收压测机器人响应于压力测试请求发送的应用数据包;
通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;
根据所述中央处理器综合使用率监控结果、所述内存综合使用率监控结果和所述单位时间综合会话数量监控结果,确定本地服务器的压力测试结果;
当所述本地服务器处于压力过载状态时,根据所述插桩后进程中函数调用关系,确定目标调用路径。
2.根据权利要求1所述的方法,其特征在于,所述根据所述中央处理器综合使用率监控结果、所述内存综合使用率监控结果和所述单位时间综合会话数量监控结果,确定本地服务器的压力测试结果包括:
根据所述中央处理器综合使用率监控结果和所述单位时间综合会话数量监控结果,确定中央处理器的压力监控结果;
根据所述中央处理器的压力监控结果以及所述内存综合使用率监控结果,确定所述本地服务器的压力测试结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述中央处理器综合使用率监控结果和所述单位时间综合会话数量监控结果,确定中央处理器的压力监控结果包括:
当所述中央处理器综合使用率大于预设使用率阈值且所述单位时间综合会话数量大于预设数量阈值时,确定所述中央处理器处于压力过载状态;
所述方法还包括:
当所述中央处理器处于压力过载状态和/或所述内存综合使用率超过预设阈值时,确定所述本地服务器处于压力过载状态。
4.根据权利要求1所述的方法,其特征在于,所述通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果包括:
确定所述插桩后进程中每个调用函数对应的中央处理器的使用率、内存使用率监控结果和单位时间会话数量监控结果;
根据所述每个调用函数对应的中央处理器的使用率,确定中央处理器综合使用率监控结果;
根据所述每个调用函数对应的内存使用率,确定内存综合使用率监控结果;
根据所述每个调用函数对应的会话数量,确定单位时间综合会话数量监控结果。
5.根据权利要求1所述的方法,其特征在于,所述根据所述插桩后进程中函数调用关系,确定目标调用路径包括:
根据所述插桩后进程中函数调用关系,确定至少两个函数调用路径;
根据所述至少两个函数调用路径,确定目标调用路径。
6.根据权利要求5所述的方法,其特征在于,所述根据所述至少两个函数调用路径,确定目标调用路径包括:
根据每个函数调用路径中调用函数的中央处理器的使用率,计算每个函数调用路径对应的中央处理器的使用率;
对所述至少两个函数调用路径按照中央处理器的使用率由小到大进行排序;
将排序末位的中央处理器的使用率对应的函数调用路径确定为所述目标调用路径;
所述方法还包括:
根据所述进程中每个调用函数对应的中央处理器的使用率,确定每个调用函数的第一展示框图的属性信息;
根据函数之间的调用关系以及每个调用函数的第一展示框图的属性信息,展示中央处理器性能热点图。
7.根据权利要求5所述的方法,其特征在于,所述根据所述至少两个函数调用路径,确定目标调用路径包括:
根据每个函数调用路径中调用函数的内存使用率,计算每个函数调用路径对应的内存使用率;
对所述至少两个函数调用路径按照内存使用率由小到大进行排序;
将排序末位的内存使用率对应的函数调用路径确定为所述目标调用路径;
所述方法还包括:
根据所述进程中每个调用函数对应的内存使用率,确定每个调用函数的第二展示框图的属性信息;
根据函数之间的调用关系以及每个调用函数的第二展示框图的属性信息,展示内存性能热点图。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述压测机器人在运行过程中产生目标结果时,发送的错误报告;所述压测机器人在运行过程中进行网络通信与事务验证。
9.一种信息处理装置,其特征在于,所述装置包括:
源码获取模块,用于获取进程的源码;
插桩模块,用于在所述进程的源码中进行中央处理器插桩、内存插桩和单位时间会话数量插桩,得到插桩后进程;
应用数据包接收模块,用于接收压测机器人响应于压力测试请求发送的应用数据包;
监控结果确定模块,用于通过所述插桩后进程执行函数调用,对所述应用数据包进行处理,得到中央处理器综合使用率监控结果、内存综合使用率监控结果和单位时间综合会话数量监控结果;
压力测试结果确定模块,用于根据所述中央处理器综合使用率监控结果、所述内存综合使用率监控结果和所述单位时间综合会话数量监控结果,确定本地服务器的压力测试结果;
目标调用路径确定模块,用于当所述本地服务器处于压力过载状态时,根据所述插桩后进程中函数调用关系,确定目标调用路径。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8任一所述的信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010507966.XA CN113760518A (zh) | 2020-06-05 | 2020-06-05 | 一种信息处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010507966.XA CN113760518A (zh) | 2020-06-05 | 2020-06-05 | 一种信息处理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760518A true CN113760518A (zh) | 2021-12-07 |
Family
ID=78785091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010507966.XA Pending CN113760518A (zh) | 2020-06-05 | 2020-06-05 | 一种信息处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760518A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194131A (zh) * | 2023-11-06 | 2023-12-08 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、可读存储介质及程序产品 |
-
2020
- 2020-06-05 CN CN202010507966.XA patent/CN113760518A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194131A (zh) * | 2023-11-06 | 2023-12-08 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、可读存储介质及程序产品 |
CN117194131B (zh) * | 2023-11-06 | 2024-02-27 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、可读存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8667119B2 (en) | System and method for re-generating packet load for load test | |
JP7296978B2 (ja) | 対戦ゲームプレイに参加させるためのプレーヤへのインセンティブ授与 | |
CN102402481B (zh) | 异步程序代码的模糊测试 | |
US8396962B2 (en) | Game grammar-based packet capture and analysis apparatus and method for conducting game test | |
EP2902901A1 (en) | Development, compiling and debugging method and device for application | |
CN104679659A (zh) | 应用程序的测试方法及装置、电子设备 | |
CN107943707B (zh) | 行为树的测试方法、装置和存储介质以及终端 | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN110362474A (zh) | 一种分布式游戏测试方法、系统、装置及存储介质 | |
CN111177729B (zh) | 一种程序漏洞的测试方法以及相关装置 | |
CN110362418A (zh) | 一种异常数据恢复方法、装置、服务器及存储介质 | |
CN114328217A (zh) | 应用的测试方法、装置、设备、介质及计算机程序产品 | |
CN109701278A (zh) | 一种游戏教学方法、装置、设备及存储介质 | |
US8556725B2 (en) | Scenario-based load testing apparatus and method | |
CN113760518A (zh) | 一种信息处理方法、装置及存储介质 | |
CN106953933B (zh) | 一种消息推送方法及装置、电子设备 | |
CN109684196B (zh) | 一种测试方法及装置 | |
CN110825636B (zh) | 一种匹配算法性能测试方法、装置、设备、系统及介质 | |
CN109450724A (zh) | 一种nfs内存优化功能的测试方法及相关装置 | |
CN106445784B (zh) | 一种信息监控方法及装置 | |
CN115495381A (zh) | 交互场景的测试方法、系统、处理器及电子设备 | |
CN116846799A (zh) | 游戏服务器压力测试方法、装置、电子设备及存储介质 | |
CN111708538B (zh) | 事务循环方法、装置、计算机设备及计算机可读存储介质 | |
CN109985387B (zh) | 自动化测试方法和装置 | |
CN112087347A (zh) | 游戏服务器测试方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |