CN110971478B - 云平台服务性能的压测方法、装置及计算设备 - Google Patents
云平台服务性能的压测方法、装置及计算设备 Download PDFInfo
- Publication number
- CN110971478B CN110971478B CN201811155196.6A CN201811155196A CN110971478B CN 110971478 B CN110971478 B CN 110971478B CN 201811155196 A CN201811155196 A CN 201811155196A CN 110971478 B CN110971478 B CN 110971478B
- Authority
- CN
- China
- Prior art keywords
- test
- cloud platform
- pressure
- module
- tested
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
- Measuring Fluid Pressure (AREA)
Abstract
本发明公开了一种云平台服务性能的压测方法、装置、计算设备及计算机存储介质,其中,云平台服务性能的压测方法包括:在压测机中构建压力测试环境;与待测试的云平台建立基于长连接的远程调用传输通道,获取云平台根据待测目标模块扩展得到的函数接口;根据压测场景指标,依据测试规则调用函数接口,以供云平台根据函数接口的调用请求进行压力测试,得到压力测试结果;对云平台返回的压力测试结果进行分析,定位资源消耗点。根据本发明提供的技术方案,在压力测试环境下,通过远程调用云平台根据待测目标模块扩展得到的函数接口使云平台进行压力测试,实现了对云平台的资源消耗情况的分段测试,能够精准地对资源消耗点进行定位。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种云平台服务性能的压测方法、装置、计算设备及计算机存储介质。
背景技术
在物联网中,IoT(Internet of Things)设备需要保持与服务端的连接,同时在连接时需要上报自身的状态;服务端也会下发一些指令,来保证IoT设备的正常工作。作为服务端的云平台是否能够正常提供服务是物联网正常运转的关键。
现有技术中一般通过压测方式来检验云平台的对外服务,压测时通过模拟大数据量的数据连接检测云平台的资源消耗问题。一种较为常见的压测方式为黑盒测试,即对云平台进行整体施压,得到云平台的资源消耗的整体结论。黑盒测试无法定位云平台的哪个服务环节出现问题,不能提供有效的压测结果。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的云平台服务性能的压测方法、装置及计算设备。
根据本发明的一个方面,提供了一种云平台服务性能的压测方法,其包括:
在压测机中构建压力测试环境;
与待测试的云平台建立基于长连接的远程调用传输通道,获取云平台根据待测目标模块扩展得到的函数接口;
根据压测场景指标,依据测试规则调用函数接口,以供云平台根据函数接口的调用请求进行压力测试,得到压力测试结果;
对云平台返回的压力测试结果进行分析,定位资源消耗点。
根据本发明的另一方面,提供了一种云平台服务性能的压测装置,其包括:
构建模块,适于在压测机中构建压力测试环境;
获取模块,适于与待测试的云平台建立基于长连接的远程调用传输通道,获取云平台根据待测目标模块扩展得到的函数接口;
调用模块,适于根据压测场景指标,依据测试规则调用函数接口,以供云平台根据函数接口的调用请求进行压力测试,得到压力测试结果;
分析模块,适于对云平台返回的压力测试结果进行分析,定位资源消耗点。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述云平台服务性能的压测方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述云平台服务性能的压测方法对应的操作。
根据本发明提供的技术方案,能够在压力测试环境下,通过远程调用云平台根据待测目标模块扩展得到的函数接口使云平台进行压力测试,实现了对云平台的资源消耗情况的分段测试,优化了压测方式;通过对云平台返回的压力测试结果进行分析,能够精准地对资源消耗点进行定位,以便对资源消耗点进行重点优化,减少其资源消耗,从而达到优化云平台服务性能的目的。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的云平台服务性能的压测方法的流程示意图;
图2示出了根据本发明另一个实施例的云平台服务性能的压测方法的流程示意图;
图3示出了根据本发明一个实施例的云平台服务性能的压测装置的结构框图;
图4示出了根据本发明实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的云平台服务性能的压测方法的流程示意图。如图1所示,该方法包括:
步骤S101,在压测机中构建压力测试环境。
首先选择一压测机,可选地,该压测机支持与云平台之间的免密访问,便于后续远程访问云平台。在压测机中安装压测客户端,部署压力测试环境,对压测场景指标进行配置。
作为一个具体实施方式,可以采用Tsung压测工具构建压力测试环境,Tsung压测工具支持通过大量的高并发的程序来模拟压测实例,并且可控制并发的数量、启动速率以及存活时间等。
步骤S102,与待测试的云平台建立基于长连接的远程调用传输通道,获取云平台根据待测目标模块扩展得到的函数接口。
为了能够通过RPC(远程过程调用,Remote Procedure Call)方式实现对云平台服务性能的压测,需要先在压测机与待测试的云平台之间建立基于长连接的远程调用传输通道。
云平台可根据实际需要确定待测目标模块,并根据所确定的待测目标模块进行扩展,得到对应的函数接口,以便在压测过程中云平台能够根据函数接口的调用请求进行压力测试。压测机获取云平台根据待测目标模块扩展得到的函数接口,以便通过远程调用函数接口实现对云平台服务性能的压测。
步骤S103,根据压测场景指标,依据测试规则调用函数接口,以供云平台根据函数接口的调用请求进行压力测试,得到压力测试结果。
其中,预先根据实际的压测场景对压测场景指标和测试规则进行配置。具体地,测试规则可为按照多个待测目标模块之间的依赖关系的排序顺序进行测试。
压测机根据压测场景指标,依据测试规则确定当前测试过程所要调用的函数接口,然后通过所建立的远程调用传输通道调用函数接口。云平台接收压测机发送的函数接口的调用请求,并根据函数接口的调用请求执行待测目标模块进行压力测试,从而得到压力测试结果。压力测试结果可包括内存占用率、CPU占用率和执行延迟时长等结果。在得到压力测试结果,云平台会通过所建立的远程调用传输通道向压测机返回压力测试结果,以供压测机对压力测试结果进行分析。
步骤S104,对云平台返回的压力测试结果进行分析,定位资源消耗点。
接收云平台返回的压力测试结果,利用预设分析算法对压力测试结果进行分析,确定各个待测目标模块的资源消耗量,从而定位资源消耗点。具体地,可对各个待测目标模块的资源消耗量按照从大到小的顺序进行排序,根据排序靠前的预设数量的待测目标模块定位资源消耗点。本领域技术人员可根据实际需要对预设数量进行设置,此处不做限定。
根据本实施例提供的云平台服务性能的压测方法,能够在压力测试环境下,通过远程调用云平台根据待测目标模块扩展得到的函数接口使云平台进行压力测试,实现了对云平台的资源消耗情况的分段测试,优化了压测方式;通过对云平台返回的压力测试结果进行分析,能够精准地对资源消耗点进行定位,以便对资源消耗点进行重点优化,减少其资源消耗,从而达到优化云平台服务性能的目的。
图2示出了根据本发明另一个实施例的云平台服务性能的压测方法的流程示意图。如图2所示,该方法包括:
步骤S201,安装压测客户端,部署压力测试环境,对压测场景指标进行配置。
在对云平台服务性能进行压测之前,需要先在压测机中构建压力测试环境。首先选择一压测机,该压测机支持与云平台之间的免密访问,以便后续能够方便地远程访问云平台,然后在所选择的压测机中安装压测客户端,采用Tsung压测工具等压测工具部署压力测试环境,并对压测场景指标进行配置。其中,压测场景指标包含:待测主机、待测目标模块以及压测参数信息。具体地,待测主机为待测的云平台所对应的主机;压测参数信息可包括:压测起始时间、压测的时间间隔、压测启动数量等信息。
以压测工具为Tsung压测工具为例,假设待测试的压力测试环境为与云平台保持连接的IoT设备的数量为100万台,那么可配置压测启动数量为100万,Tsung压测工具根据配置并发运行100万个程序来模拟该压力测试环境。
步骤S202,对压力测试环境的稳定性进行验证。
稳定的压力测试环境,有助于获得准确的压力测试结果。为了确保压力测试环境的稳定性,在完成对压力测试环境的部署之后,还需对压力测试环境的稳定性进行验证。其中,可通过对本身具有性能监控程序的系统进行线性施压来验证压力测试环境的稳定性。例如,MySQL、Kafka等系统本身具有性能监控程序,那么可选择一安装有这类系统的主机作为待测主机,为该待测主机进行线性施压,具体为线性增长压测启动数量,如以压测启动数量为5000、10000、15000等梯度进行测试,监测待测主机的性能监控程序所得到的监控结果是否也是线性增长,从而能够确定压力测试环境是否达到预期要求。在实际应用中,可通过多次测试来验证压力测试环境的稳定性,直至确保压力测试环境不会存在较大的不稳定波动。
步骤S203,与待测试的云平台建立基于长连接的远程调用传输通道,获取云平台根据待测目标模块扩展得到的函数接口。
为了能够有效地模拟IoT设备与作为服务端的云平台保持连接的场景,需要与待测试的云平台建立基于长连接的远程调用传输通道,以使压测机与云平台保持连接。
作为一个具体实施方式,可以采用Erlang编程语言建立基于长连接的远程调用传输通道。Erlang编程语言是一种通用的面向并发的编程语言,Erlang属于多重范型编程语言,涵盖函数式、并发式及分布式。在本发明中,可采用Erlang编程语言提供的一种运程调用的方式来达到通过压测机直接将函数接口的调用请求传输给云平台,其本质是建立在TCP套接字的基础上,通过语言本身的协议封装,将相应的指令传输到运程主机上,并且接收相应的返回。其中,远程调用传输通道就是在语言底层特性上所提供出来的一种机制。
云平台可根据本身需要对待测目标模块进行划分与确定,多个待测目标模块之间具有依赖关系,为了便于压测机调用,云平台根据所确定的待测目标模块进行扩展,得到对应的函数接口。压测机获取云平台根据待测目标模块扩展得到的函数接口,以便通过调用函数接口实现对云平台服务性能的压测。
步骤S204,针对按照依赖关系进行排序的n个待测目标模块,进行n轮测试过程。
在获取了云平台根据待测目标模块扩展得到的函数接口之后,就可根据压测场景指标,对云平台进行压力测试。其中,多个待测目标模块之间具有依赖关系,假设多个待测目标模块的数量为n,n大于1,需先按照依赖关系对n个待测目标模块进行排序,然后针对排序后的n个待测目标模块进行n轮测试过程。
每一轮测试过程具体包括:按照从前到后的排序选择当前轮测试过程的测试入口模块,调用测试入口模块对应的函数接口,以供云平台根据函数接口的调用请求进行压力测试,得到当前轮的压力测试结果。其中,第1轮测试过程的测试入口模块为排序最前的待测目标模块,当前轮测试过程的测试入口模块的排序仅次于前一轮测试过程的测试入口模块的排序。云平台根据函数接口的调用请求会按照依赖关系依次执行测试入口模块以及位于该测试入口模块之后的所有待测目标模块进行压力测试,从而得到当前轮的压力测试结果。另外,为了能够有效、准确地进行压力测试,还需获取位于测试入口模块之前的待测目标模块的预置测试结果,在调用测试入口模块对应的函数接口时将预置测试结果作为调用参数传递给云平台,以供云平台将预置测试结果作为测试入口模块的输入进行压力测试。
以n为4为例,4个待测目标模块分别为模块1至模块4,按照依赖关系对这4个待测目标模块进行排序,所得到的从前到后的排序为模块1、模块2、模块3和模块4。那么在第1轮测试过程中,所选择的测试入口模块为模块1,由于模块1为排序最前的待测目标模块,在模块1之前不存在其他的待测目标模块,可直接调用模块1对应的函数接口,以供云平台根据该函数接口的调用请求依次执行模块1至模块4进行压力测试,得到第1轮的压力测试结果。另外,还可根据在第1轮测试过程中模块1、模块2和模块3的执行结果对模块1、模块2和模块3的预置测试结果进行配置。
在第2轮测试过程中,所选择的测试入口模块为模块2,获取模块2之前的模块1的预置测试结果,调用模块2对应的函数接口,并将模块1的预置测试结果作为调用参数传递给云平台,以供云平台将预置测试结果作为模块2的输入,并根据该函数接口的调用请求依次执行模块2至模块4进行压力测试,得到第2轮的压力测试结果。
在第3轮测试过程中,所选择的测试入口模块为模块3,获取模块3之前的模块2的预置测试结果,调用模块3对应的函数接口,并将模块2的预置测试结果作为调用参数传递给云平台,以供云平台将预置测试结果作为模块3的输入,并根据该函数接口的调用请求依次执行模块3至模块4进行压力测试,得到第3轮的压力测试结果。
在第4轮测试过程中,所选择的测试入口模块为模块4,获取模块4之前的模块3的预置测试结果,调用模块4对应的函数接口,并将模块3的预置测试结果作为调用参数传递给云平台,以供云平台将预置测试结果作为模块4的输入,并根据该函数接口的调用请求执行模块4进行压力测试,得到第4轮的压力测试结果。
步骤S205,对云平台返回的n轮的压力测试结果进行分析,定位资源消耗点。
接收云平台返回的n轮的压力测试结果,利用预设分析算法对n轮的压力测试结果进行分析,确定n个待测目标模块的资源消耗量,定位资源消耗点,以便对资源消耗点进行重点优化,减少其资源消耗,从而达到优化云平台服务性能的目的。具体地,可将相邻两轮的压力测试结果进行比较,这两个压力测试结果之间的差值即为这两轮中靠前一轮的测试过程的测试入口模块的资源消耗量;根据最后一轮的压力测试结果即可得到最后一轮测试过程的测试入口模块的资源消耗量。
其中,压力测试结果可包括内存占用率、CPU占用率和执行延迟时长等结果。本领域技术人员可根据实际需要对压力测试结果所包括的信息进行设置,此处不做限定。
以压力测试结果包括内存占用率为例,假设按照依赖关系进行排序所得到的从前到后的排序为模块1、模块2、模块3和模块4,所得到的第1轮的压力测试结果为内存占用率为85%,第2轮的压力测试结果为内存占用率为80%,第3轮的压力测试结果为内存占用率为20%,第4轮的压力测试结果为内存占用率为10%。那么将第1轮的压力测试结果和第2轮的压力测试结果进行比较,得到模块1对于内存的资源消耗量为5%;将第2轮的压力测试结果和第3轮的压力测试结果进行比较,得到模块2对于内存的资源消耗量为60%;将第3轮的压力测试结果和第4轮的压力测试结果进行比较,得到模块3对于内存的资源消耗量为10%;第4轮测试过程为最后一轮测试过程,直接根据第4轮的压力测试结果即可得到模块4对于内存的资源消耗量为10%。由此可知,这4个模块中模块2对于内存的资源消耗量最多,可将模块2定位为资源消耗点。在定位了模块2为资源消耗点之后,就可对模块2进行重点优化,以达到优化云平台服务性能的目的。
可选地,考虑到运程调用本身也会消耗一定的资源,为了能够更为准确地确定各个待测目标模块的资源消耗量,可通过测试一组几乎没有执行消耗的测试实例来确定运程调用的基准资源消耗量。例如,测试实例为发送1,返回1,执行该测试实例的平均延时为1毫秒,可认为延时1毫秒是消耗在远程调用上。假设第1轮测试过程耗时100毫秒,那么可认为100毫秒中的1毫秒是消耗在远程调用上,99毫秒实际消耗在执行测试入口模块以及位于该测试入口模块之后的所有待测目标模块上。
根据本实施例提供的云平台服务性能的压测方法,能够在压力测试环境下,通过远程调用方式针对按照依赖关系进行排序的多个待测目标模块,进行多轮测试过程,所得到的多轮的压力测试结果不仅包括云平台中所有待测目标模块的整体资源消耗情况,还包括部分待测目标模块的资源消耗情况,方便地实现了对云平台的资源消耗情况的分段测试;并且通过对云平台返回的多轮的压力测试结果进行分析,能够清楚地获知各个待测目标模块的资源消耗量,实现了对资源消耗点的精准定位,以便对资源消耗点进行重点优化,减少其资源消耗,从而达到优化云平台服务性能的目的。
图3示出了根据本发明一个实施例的云平台服务性能的压测装置的结构框图。如图3所示,该装置包括:构建模块301、获取模块302、调用模块303和分析模块304。
构建模块301适于:在压测机中构建压力测试环境。
可选地,构建模块301进一步适于:安装压测客户端,部署压力测试环境,对压测场景指标进行配置;对压力测试环境的稳定性进行验证。其中,压测场景指标包含:待测主机、待测目标模块以及压测参数信息。
获取模块302适于:与待测试的云平台建立基于长连接的远程调用传输通道,获取云平台根据待测目标模块扩展得到的函数接口。
调用模块303适于:根据压测场景指标,依据测试规则调用函数接口,以供云平台根据函数接口的调用请求进行压力测试,得到压力测试结果。
可选地,调用模块303进一步适于:针对按照依赖关系进行排序的n个待测目标模块,进行n轮测试过程,每一轮测试过程具体包括:按照从前到后的排序选择当前轮测试过程的测试入口模块,调用测试入口模块对应的函数接口,以供云平台根据函数接口的调用请求进行压力测试,得到当前轮的压力测试结果。其中,第1轮测试过程的测试入口模块为排序最前的待测目标模块,当前轮测试过程的测试入口模块的排序仅次于前一轮测试过程的测试入口模块的排序。
可选地,调用模块303进一步适于:获取位于测试入口模块之前的待测目标模块的预置测试结果;在调用测试入口模块对应的函数接口时将预置测试结果作为调用参数传递给云平台,以供云平台将预置测试结果作为测试入口模块的输入进行压力测试。
分析模块304适于:对云平台返回的压力测试结果进行分析,定位资源消耗点。
可选地,分析模块304进一步适于:对云平台返回的n轮的压力测试结果进行分析,定位资源消耗点。
根据本实施例提供的云平台服务性能的压测装置,能够在压力测试环境下,通过远程调用方式针对按照依赖关系进行排序的多个待测目标模块,进行多轮测试过程,所得到的多轮的压力测试结果不仅包括云平台中所有待测目标模块的整体资源消耗情况,还包括部分待测目标模块的资源消耗情况,方便地实现了对云平台的资源消耗情况的分段测试;并且通过对云平台返回的多轮的压力测试结果进行分析,能够清楚地获知各个待测目标模块的资源消耗量,实现了对资源消耗点的精准定位,以便对资源消耗点进行重点优化,减少其资源消耗,从而达到优化云平台服务性能的目的。
本发明还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,可执行指令可执行上述任意方法实施例中的云平台服务性能的压测方法。
图4示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述云平台服务性能的压测方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述任意方法实施例中的云平台服务性能的压测方法。程序410中各步骤的具体实现可以参见上述云平台服务性能的压测实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (12)
1.一种云平台服务性能的压测方法,其包括:
在压测机中构建压力测试环境;
与待测试的云平台建立基于长连接的远程调用传输通道,获取所述云平台根据待测目标模块扩展得到的函数接口;
根据压测场景指标,依据测试规则调用所述函数接口,以供所述云平台根据函数接口的调用请求进行压力测试,得到压力测试结果;
对所述云平台返回的压力测试结果进行分析,定位资源消耗点。
2.根据权利要求1所述的方法,其中,所述在压测机中构建压力测试环境进一步包括:
安装压测客户端,部署压力测试环境,对压测场景指标进行配置;
对所述压力测试环境的稳定性进行验证。
3.根据权利要求2所述的方法,其中,所述压测场景指标包含:待测主机、待测目标模块以及压测参数信息。
4.根据权利要求1-3中任一项所述的方法,其中,所述根据压测场景指标,依据测试规则调用所述函数接口,以供所述云平台根据函数接口的调用请求进行压力测试,得到压力测试结果进一步包括:
针对按照依赖关系进行排序的n个待测目标模块,进行n轮测试过程,每一轮测试过程具体包括:按照从前到后的排序选择当前轮测试过程的测试入口模块,调用测试入口模块对应的函数接口,以供所述云平台根据函数接口的调用请求进行压力测试,得到当前轮的压力测试结果;
其中,第1轮测试过程的测试入口模块为排序最前的待测目标模块,当前轮测试过程的测试入口模块的排序仅次于前一轮测试过程的测试入口模块的排序;
所述对所述云平台返回的压力测试结果进行分析,定位资源消耗点具体为:对所述云平台返回的n轮的压力测试结果进行分析,定位资源消耗点。
5.根据权利要求4所述的方法,其中,所述调用测试入口模块对应的函数接口进一步包括:
获取位于所述测试入口模块之前的待测目标模块的预置测试结果;
在调用测试入口模块对应的函数接口时将所述预置测试结果作为调用参数传递给所述云平台,以供云平台将所述预置测试结果作为测试入口模块的输入进行压力测试。
6.一种云平台服务性能的压测装置,其包括:
构建模块,适于在压测机中构建压力测试环境;
获取模块,适于与待测试的云平台建立基于长连接的远程调用传输通道,获取所述云平台根据待测目标模块扩展得到的函数接口;
调用模块,适于根据压测场景指标,依据测试规则调用所述函数接口,以供所述云平台根据函数接口的调用请求进行压力测试,得到压力测试结果;
分析模块,适于对所述云平台返回的压力测试结果进行分析,定位资源消耗点。
7.根据权利要求6所述的装置,其中,所述构建模块进一步适于:
安装压测客户端,部署压力测试环境,对压测场景指标进行配置;
对所述压力测试环境的稳定性进行验证。
8.根据权利要求7所述的装置,其中,所述压测场景指标包含:待测主机、待测目标模块以及压测参数信息。
9.根据权利要求6-8中任一项所述的装置,其中,所述调用模块进一步适于:
针对按照依赖关系进行排序的n个待测目标模块,进行n轮测试过程,每一轮测试过程具体包括:按照从前到后的排序选择当前轮测试过程的测试入口模块,调用测试入口模块对应的函数接口,以供所述云平台根据函数接口的调用请求进行压力测试,得到当前轮的压力测试结果;
其中,第1轮测试过程的测试入口模块为排序最前的待测目标模块,当前轮测试过程的测试入口模块的排序仅次于前一轮测试过程的测试入口模块的排序;
所述分析模块进一步适于:对所述云平台返回的n轮的压力测试结果进行分析,定位资源消耗点。
10.根据权利要求9所述的装置,其中,所述调用模块进一步适于:
获取位于所述测试入口模块之前的待测目标模块的预置测试结果;
在调用测试入口模块对应的函数接口时将所述预置测试结果作为调用参数传递给所述云平台,以供云平台将所述预置测试结果作为测试入口模块的输入进行压力测试。
11.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-5中任一项所述的云平台服务性能的压测方法对应的操作。
12.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-5中任一项所述的云平台服务性能的压测方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811155196.6A CN110971478B (zh) | 2018-09-30 | 2018-09-30 | 云平台服务性能的压测方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811155196.6A CN110971478B (zh) | 2018-09-30 | 2018-09-30 | 云平台服务性能的压测方法、装置及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110971478A CN110971478A (zh) | 2020-04-07 |
CN110971478B true CN110971478B (zh) | 2022-04-26 |
Family
ID=70028574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811155196.6A Active CN110971478B (zh) | 2018-09-30 | 2018-09-30 | 云平台服务性能的压测方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971478B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037589B (zh) * | 2021-03-01 | 2022-04-22 | 广东睿住智能科技有限公司 | 网关设备的压力测试方法、装置、测试平台及存储介质 |
CN114615171B (zh) * | 2022-03-16 | 2024-01-30 | 网易(上海)网络有限公司 | 云游戏服务器的压测处理方法、设备、介质及程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116539A (zh) * | 2012-02-15 | 2013-05-22 | 无锡江南计算技术研究所 | 一种细粒度的虚拟化系统的性能损耗测试方法及装置 |
CN104461899A (zh) * | 2014-12-19 | 2015-03-25 | 北京奇虎科技有限公司 | 测试过程中分析资源消耗量的方法、测试终端及系统 |
CN104794058A (zh) * | 2015-05-07 | 2015-07-22 | 合肥云中信息科技有限公司 | 一种云桌面虚拟环境性能的测试方法 |
CN107066314A (zh) * | 2017-05-24 | 2017-08-18 | 成都四象联创科技有限公司 | 基于开源框架的软件重构方法 |
CN107395447A (zh) * | 2016-03-09 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 模块检测方法、系统容量预估方法及相应的设备 |
CN107547261A (zh) * | 2017-07-24 | 2018-01-05 | 华为技术有限公司 | 云平台性能测试方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10127146B2 (en) * | 2015-04-21 | 2018-11-13 | Cloudy Days, Inc. | Systems and methods to identify and classify performance bottlenecks in cloud based applications |
EP3296876B1 (en) * | 2016-09-20 | 2019-08-21 | Tata Consultancy Services Limited | Systems and methods for predicting performance of applications on an internet of things (iot) platform |
-
2018
- 2018-09-30 CN CN201811155196.6A patent/CN110971478B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116539A (zh) * | 2012-02-15 | 2013-05-22 | 无锡江南计算技术研究所 | 一种细粒度的虚拟化系统的性能损耗测试方法及装置 |
CN104461899A (zh) * | 2014-12-19 | 2015-03-25 | 北京奇虎科技有限公司 | 测试过程中分析资源消耗量的方法、测试终端及系统 |
CN104794058A (zh) * | 2015-05-07 | 2015-07-22 | 合肥云中信息科技有限公司 | 一种云桌面虚拟环境性能的测试方法 |
CN107395447A (zh) * | 2016-03-09 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 模块检测方法、系统容量预估方法及相应的设备 |
CN107066314A (zh) * | 2017-05-24 | 2017-08-18 | 成都四象联创科技有限公司 | 基于开源框架的软件重构方法 |
CN107547261A (zh) * | 2017-07-24 | 2018-01-05 | 华为技术有限公司 | 云平台性能测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110971478A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8140319B2 (en) | Method and system for predicting system performance and capacity using software module performance statistics | |
CN111124850A (zh) | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 | |
CN107688526A (zh) | 应用程序的性能测试方法、装置、计算机设备和存储介质 | |
CN107590075B (zh) | 一种软件测试方法及装置 | |
US20170048008A1 (en) | Method and apparatus for verification of network service in network function virtualization environment | |
CN111782524B (zh) | 应用测试方法和装置、存储介质和电子装置 | |
CN102141951A (zh) | 芯片仿真系统及方法 | |
CN107220169B (zh) | 一种模拟服务器返回定制化数据的方法和设备 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
CN110971478B (zh) | 云平台服务性能的压测方法、装置及计算设备 | |
CN110569194A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
CN111984527A (zh) | 软件的性能测试方法、装置、设备和介质 | |
CN111966556A (zh) | 性能压测方法、装置及服务器和计算机可读存储介质 | |
CN117076330B (zh) | 一种访存验证方法、系统、电子设备及可读存储介质 | |
US20210248056A1 (en) | Method for evaluating application deployment, apparatus, computer program product, and readable medium | |
CN117370134A (zh) | 微服务性能的评价方法、装置、电子设备及存储介质 | |
RU2532714C2 (ru) | Способ получения данных при оценке ресурсов сети и устройство для осуществления способа | |
CN114143235A (zh) | Nfv自动测试方法、装置、设备及存储介质 | |
CN111209197B (zh) | 应用程序持续集成测试方法、系统、设备和存储介质 | |
CN115017018A (zh) | 服务器的性能测试方法、设备和计算机可读存储介质 | |
CN109324802B (zh) | 用于配置服务器的方法和装置 | |
CN111294250B (zh) | 压力测试方法、装置和系统 | |
CN106844188A (zh) | 一种测试代理方法、装置和测试系统 | |
CN110851254A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |