CN111756594A - 压力测试的控制方法、计算机设备和计算机可读存储介质 - Google Patents

压力测试的控制方法、计算机设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111756594A
CN111756594A CN201910248995.6A CN201910248995A CN111756594A CN 111756594 A CN111756594 A CN 111756594A CN 201910248995 A CN201910248995 A CN 201910248995A CN 111756594 A CN111756594 A CN 111756594A
Authority
CN
China
Prior art keywords
fusing
pressure test
test
pressure
interface
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.)
Granted
Application number
CN201910248995.6A
Other languages
English (en)
Other versions
CN111756594B (zh
Inventor
宫梦雷
陈梦
胡建平
袁敏
胡凯
周晨程
孙英男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910248995.6A priority Critical patent/CN111756594B/zh
Publication of CN111756594A publication Critical patent/CN111756594A/zh
Application granted granted Critical
Publication of CN111756594B publication Critical patent/CN111756594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Measuring Fluid Pressure (AREA)

Abstract

本发明提供了一种压力测试的控制方法、计算机设备和计算机可读存储介质。该压力测试的控制方法包括获取被测接口进行压力测试的熔断参数;获取压力测试的测试结果,其中,测试结果包括预定的时间间隔内多次请求接口的请求响应数据;根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断;当压力测试需要熔断时,中断压力测试。通过本发明,能够及时地、自动地检测到压测故障,并且自动停止压力测试。

Description

压力测试的控制方法、计算机设备和计算机可读存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种压力测试的控制方法、计算机设备和计算机可读存储介质。
背景技术
在计算机软件接口的开发过程中,压力测试是接口响应负载能力的重要测试项。在压力测试过程中,通常需要测试接口所在服务器的QPS(Query Per Second,每秒查询率)、平均耗时、最小耗时以及最大耗时等,这些参数的测试需要接口能够正常反馈响应。当发生压力测试故障时,接口无法正常反馈响应,影响测试精度,需要重新测试。
目前,在压力测试过程中,仅依靠测试人员根据经验来判断是否发生测试故障,而接口测试流量远大于接口日常流量,测试响应数据量大,依靠测试的判断并不能准确、及时的发现测试故障,影响测试效率。
因此,提供一种压力测试的控制方法、计算机设备和计算机可读存储介质,以及时地、自动地检测到压测故障,并且自动停止压力测试,成为本领域亟待解决的技术问题。
发明内容
本发明的目的是提供一种压力测试的控制方法、计算机设备和计算机可读存储介质,用于解决现有技术中的技术问题。
为实现上述目的,本发明提供了一种压力测试的控制方法。
该压力测试的控制方法包括:获取被测接口进行压力测试的熔断参数;获取压力测试的测试结果,其中,测试结果包括预定的时间间隔内多次请求接口的请求响应数据;根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断;当压力测试需要熔断时,中断压力测试。
进一步地,测试结果包括HTTP请求响应码,根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断的步骤包括:根据熔断参数、HTTP请求响应码和熔断策略,判断接口的响应状态是否正常,其中,接口的响应状态不正常时,压力测试需要熔断。
进一步地,熔断参数包括第一熔断阈值,在压力测试中,每请求接口业务一次,请求响应数据中包括一个HTTP请求响应码,HTTP请求响应码包括正常响应码和异常响应码,根据熔断参数、HTTP请求响应码和熔断策略,判断接口的响应状态是否正常的步骤包括:统计测试结果中正常响应码的数量,得到第一统计值;统计测试结果中所有HTTP请求响应码,得到第二统计值;计算第一统计值与第二统计值的比值,得到第一比值;判断第一比值是否小于第一熔断阈值,其中,当第一比值小于第一熔断阈值时,接口的响应状态不正常。
进一步地,测试结果包括业务关键字组,业务关键字组中包括若干业务关键字,根据熔断参数、业务关键字组和预置的熔断策略,判断压力测试是否要熔断的步骤包括:根据熔断参数、业务关键字组和熔断策略,判断接口的响应内容是否正常,其中,接口的响应内容不正常时,压力测试需要熔断。
进一步地,熔断参数包括第一熔断阈值和断言关键字,在压力测试中,每请求接口业务一次,请求响应数据中包括一个业务关键字组,根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断的步骤包括:统计测试结果中包括断言关键字的业务关键字组的数量,得到第三统计值;统计测试结果中所有业务关键字组的数量,得到第四统计值;计算第三统计值与第四统计值的比值,得到第二比值;判断第二比值是否小于第二熔断阈值,其中,当第二比值小于第二熔断阈值时,接口的响应内容不正常。
进一步地,在获取压力测试的测试结果的步骤之前,压力测试的控制方法还包括:发送压测容器创建请求至压测容器管理平台,其中,压测容器用于提供压力测试工具的运行环境,压力测试工具用于执行压力测试;当压力测试需要熔断时,中断压力测试的步骤包括:当压力测试需要熔断时,发送压测容器删除请求至压测容器管理平台。
进一步地,压测容器管理平台创建多个压测容器,每个压测容器上运行的压力测试工具执行压力测试后得到的请求响应数据均写入数据库,获取压力测试的测试结果的步骤包括:触发一个数据采集任务,其中,数据采集任务用于每隔时间间隔时,从数据库中获取一次当前时间间隔内的请求响应数据,形成测试结果。
进一步地,压力测试的控制方法还包括:当压力测试需要熔断时,中断数据采集任务。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的压力测试的控制方法、计算机设备和计算机可读存储介质,获取被测接口进行压力测试的熔断参数和测试结果,预置熔断策略,然后根据熔断参数、测试结果和熔断策略自动判断当前的压力测试是否要熔断,并在需要熔断时及时的中断测试,能够在测试过程中,自动的检测压力测试是否正常,并在检测到压力测试故障时,自动停止压力测试,从而测试人员能够及时修复压力测试故障,提高接口压力测试的效率。
附图说明
图1为本发明实施例一提供的一种压力测试的控制方法的流程图;
图2为本发明实施例一提供的一种压力测试的控制方法的执行示意图;
图3为本发明实施例二提供的压力测试的控制装置的框图;
图4为本发明实施例三提供的计算机设备的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种压力测试的控制方法,通过该方法,用户选择和/或程序默认被测接口进行压力测试的熔断参数,测试系统预置熔断策略,在压力测试的过程中,自动地获取压力测试的测试结果,并根据熔断参数、测试结果和该预置的熔断策略对压力测试是否要熔断进行实时的判断,在压力测试需要熔断时,及时中断压力测试,从而能够及时地、自动地检测到压测故障,并且自动停止压力测试。具体地,测试系统包括压力测试平台、压测容器管理平台、压测容器和压力测试工具,其中,压测容器管理平台用于创建和删除压测容器,压测容器用于提供压力测试工具的运行环境,压力测试工具用于执行压力测试。压力测试平台包括压力测试前端和压力测试后端,其中,压力测试前端用于与测试用户进行交互,包括接收测试用户的输入信息以及向测试用户展示一些信息,压力测试前端用于进行数据处理,该方法的执行主体为压力测试平台。具体地,图1为本发明实施例一提供的一种压力测试的控制方法的流程图,如图1所示,该实施例提供的压力测试的控制方法包括如下的步骤S101至步骤S104。
步骤S101:获取被测接口进行压力测试的熔断参数。
在对被测接口进行压力测试前,用户可通过压力测试前端输入压力测试的参数,包括需要生成测试请求的参数、测试过程控制的参数和熔断参数等。其中,生成测试请求的参数例如被测接口的端口和IP地址等;测试过程控制的参数例如并发用户数量、压测时长和预热时间等;熔断参数包括预置熔断策略中所需的阈值参数等。
其中,可通过压力测试前端展示熔断参数的名称和参数输入框,用户可在参数输入框内输入对应的参数值,或者,也可对应熔断参数的名称设置参数选择项,用户可通过选择参数选择项确定对应的参数值。
步骤S102:获取压力测试的测试结果。
其中,压力测试工具向被测接口发送一次测试请求后,被测接口会返回一次请求响应数据,压力测试平台向压测容器获取被测接口返回的数据。测试结果包括预定的时间间隔内多次请求接口的请求响应数据,具体地,可以每间隔该预定的时间间隔获取一次请求响应数据,以获取到当前时间间隔内所有的请求响应数据;或者,也可以多次获取请求响应数据,将预定时间间隔内的请求响应数据作为测试结果。
总之,测试结果包括的是预定的时间间隔长度内的,被测接口返回的请求响应数据,该请求响应数据可以为被测接口返回的全部数据,也可以为被测接口返回的部分参数类型的数据。
步骤S103:根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断。
压力测试平台预置熔断策略,该熔断策略可以是根据测试结果中请求响应数据的特定返回参数值的占比来判断是否要熔断的策略,或者,也可以是根据测试结果中请求响应数据的特定返回参数值数量来判断是否要熔断的策略等。
步骤S104:当压力测试需要熔断时,中断压力测试。
在确定压力测试需要熔断时,自动中断压力测试,如果确定压力测试不需要熔断,不对压力测试过程进行干预,正常完成压力测试。
采用该实施例提供的压力测试的控制方法,获取被测接口进行压力测试的熔断参数和测试结果,预置熔断策略,然后根据熔断参数、测试结果和熔断策略自动判断当前的压力测试是否要熔断,并在需要熔断时及时的中断测试,能够在测试过程中,自动的检测压力测试是否正常,并在检测到压力测试故障时,自动停止压力测试,从而测试人员能够及时修复压力测试故障,提高接口压力测试的效率。
可选地,在判断压力测试是否要熔断时,可以通过判断接口的响应状态和/或接口的响应内容是否正常来进行判断,当接口的响应状态和/或接口的响应内容不正常时,认为压力测试需要熔断。
其中,在一种实施例中,测试结果包括HTTP请求响应码,在上述步骤S103,也即根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断的步骤中,根据熔断参数、HTTP请求响应码和熔断策略,判断接口的响应状态是否正常,其中,接口的响应状态不正常时,压力测试需要熔断。
HTTP响应码,也称HTTP状态码(HTTP Status Code),反映了web服务器处理HTTP请求状态,每一个响应码都代表了一种服务端反馈的响应状态,也即接口对请求的响应状态,能够标识本次请求的响应状态是否正常。在该实施例中,通过HTTP响应码来判断接口的响应状态是否正常,判断和处理逻辑简单,判断准确性高。
进一步可选地,熔断参数包括第一熔断阈值,该第一熔断阈值为接口响应状态正常的临界值。在压力测试中,每请求接口业务一次,请求响应数据中包括一个HTTP请求响应码,HTTP请求响应码包括正常响应码和异常响应码。可选地,HTTP请求响应码包括2XX、3XX、4XX和5XX。其中,2XX为成功类的响应码,表示请求被正确接收、理解和处理,例如,200表示请求成功;3XX为重定向类的响应码,表示虽然没有请求成功,但可采取进一步的动作,例如,301表示资源被永久移动,也即请求的资源已被永久的移动到新URI(Uniform ResourceIdentifier,通用资源标志符),返回信息会包括新的URI,浏览器会自动定向到新URI,之后新的请求都应使用新的URI;302表示资源临时移动。综上,200、301和302等均属于正常响应码。4XX为客户端错误的响应码,表示客户端提交的请求包含语法错误或不能正确执行,例如,400表示客户端请求的地址不存在或者包含不支持的参数,401表示未授权,或认证失败,对于需要登录的网页,接口服务器可能返回此响应;5XX为服务端错误的响应码,表示服务器不能正确执行一个正确的请求,此时通常需要查看服务端日志再进一步解决,例如,500表示服务器内部错误,无法完成请求,502表示网关错误,也即服务器作为网关或代理,从上游服务器收到无效响应,504表示网关超时,也即服务器作为网关或代理,但是没有及时从上游服务器收到请求。综上,400、401、500、502和504等均属于异常响应码。
根据熔断参数、请求响应码和熔断策略,判断接口的响应状态是否正常的步骤具体包括:统计测试结果中正常响应码的数量,得到第一统计值,例如统计测试结果中接收到响应码为200、301和302等的数量;统计测试结果中所有HTTP请求响应码,得到第二统计值;计算第一统计值与第二统计值的比值,得到第一比值,该第一比值也即正常响应码占总请求次数的比例;判断第一比值是否小于第一熔断阈值,其中,当第一比值小于第一熔断阈值时,接口的响应状态不正常。
在另一种实施例中,测试结果包括业务关键字组,业务关键字组中包括若干业务关键字,在上述步骤S103,也即根据熔断参数、业务关键字组和预置的熔断策略,判断压力测试是否要熔断的步骤中,根据熔断参数、业务关键字组和熔断策略,判断接口的响应内容是否正常,其中,接口的响应内容不正常时,压力测试需要熔断。
业务关键字是请求所提供的业务响应后返回的关键字,业务关键字组是所返回的所有关键字的组合。例如,一种登录接口在被请求后,登录成功时,也即得到接口的正确响应时,返回的关键字包括“登录成功”等,登录失败时,也即得到接口的错误响应时,返回的关键字包括“登录失败”等,因此,业务关键字组能够直接反应本次请求的响应内容是否正常。在该实施例中,通过业务关键字组来判断接口的响应内容是否正常,判断和处理逻辑简单,判断准确性高。
进一步可选地,熔断参数包括第一熔断阈值和断言关键字,该第二熔断阈值为接口响应内容正常的临界值,断言关键字为接口的响应内容正常时,接口返回的关键字,具体根据接口业务的不同而不同,例如,一种登录接口的断言关键字为“登录成功”。在压力测试中,每请求接口业务一次,请求响应数据中包括一个业务关键字组。
根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断的步骤包括:统计测试结果中包括断言关键字的业务关键字组的数量,得到第三统计值,例如统计测试结果中包括“登录成功”的业务关键字的数量;统计测试结果中所有业务关键字组的数量,得到第四统计值;计算第三统计值与第四统计值的比值,得到第二比值,该第二比值也即正常响应内容占总请求次数的比例;判断第二比值是否小于第二熔断阈值,其中,当第二比值小于第二熔断阈值时,接口的响应内容不正常。
可选地,图2为本发明实施例一提供的一种压力测试的控制方法的执行示意图,如图2所示,在该压力测试的控制方法中,压力测试平台通过与压测容器管理平台和压力测试工具的交互,实现压力测试的中断。具体地:
第一,压力测试平台接收压力测试请求并获取到测试所需的相关参数后,向压测容器管理平台发送压测容器的创建请求,其中,测试所需的相关参数中可包括熔断参数;
第二,压测容器管理平台响应创建请求创建基石容器(也即针对本次压力测试创建的第一个压测容器),其中,在压力测试的工程中,当需要增压时,可在基石容器的基础上增加若干压测容器。压测容器用于提供压力测试工具的运行环境,压力测试工具用于执行压力测试;
第三,在压测容器创建后,压力测试平台将测试所需的相关参数信息发送至压测容器,并调用压力测试工具,使得压力测试工具形成测试请求并发送至待测接口,执行压力测试,待测接口响应请求返回请求响应数据;
第四,压力测试平台间隔预定的时间间隔,获取一次该时间间隔内的请求响应数据,得到测试结果;
第五,压力测试平台根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断,当压力测试需要熔断时,发送压测容器删除请求至压测容器管理平台,其中,具体如何判断压力测试是否要熔断,可参考上文,该处不再赘述;
第六,压测容器管理平台响应删除请求,删除基石容器,删除基石容器的同时可删除基于基石容器创建的其他压测容器,实现压力测试的中断。
采用该实施例提供的压力测试的控制方法,对应一个压力测试任务设置若干压测容器,当压力测试需要中断时,将压测容器直接删除,即可实现整个压力测试任务的中断,一方面,可彻底将压力测试任务中断,避免只中断部分进程,另一方面,执行逻辑简单,只需向压测容器管理平台发起删除请求即可,不需要发送多个逻辑的请求。
其中,进一步可选地,压测容器管理平台创建多个压测容器,每个压测容器上运行的压力测试工具执行压力测试后,得到的请求响应数据均写入数据库,压力测试平台获取压力测试的测试结果的步骤包括:触发一个数据采集任务,其中,数据采集任务用于每隔时间间隔时,从数据库中获取一次当前时间间隔内的请求响应数据,形成测试结果,例如时间间隔为5s。
采用该实施例提供的压力测试的控制方法,通过触发采集任务的形式实现测试结果的获取,也即实现一个时间间隔内请求响应数据的获取,既能够满足一段时间内数据的获取,有利于实现数据的聚合分析,又能够对压力测试的请求响应数据实时分析,以及时发现压力测试故障。
更进一步地,压力测试的控制方法还包括:当压力测试需要熔断时,中断数据采集任务。
采用该实施例提供的压力测试的控制方法,在中断压力测试时,将数据采集任务也中断,避免执行冗余的处理逻辑。
实施例二
对应于上述实施例一,本发明实施例二提供了一种压力测试的控制装置,图3为本发明实施例二提供的压力测试的控制装置的框图,如图3所示,该压力测试的控制装置包括第一获取模块201、第二获取模块202、判断模块203和第一中断模块204。
其中,第一获取模块201用于获取被测接口进行压力测试的熔断参数;第二获取模块202用于获取压力测试的测试结果,其中,测试结果包括预定的时间间隔内多次请求接口的请求响应数据;判断模块203用于根据熔断参数、测试结果和预置的熔断策略,判断压力测试是否要熔断;第一中断模块204用于当压力测试需要熔断时,中断压力测试。
采用该实施例提供的压力测试的控制装置,由第一获取模块获取被测接口进行压力测试的熔断参数,由第二获取模块获取测试结果,在控制装置中,预置熔断策略,然后判断模块根据熔断参数、测试结果和熔断策略自动判断当前的压力测试是否要熔断,并在需要熔断时第一中断模块及时的中断测试,能够在测试过程中,自动的检测压力测试是否正常,并在检测到压力测试故障时,自动停止压力测试,从而测试人员能够及时修复压力测试故障,提高接口压力测试的效率。
可选地,测试结果包括HTTP请求响应码,第一中断模块204包括第一中断单元,该第一中断单元用于根据熔断参数、HTTP请求响应码和熔断策略,判断接口的响应状态是否正常,其中,接口的响应状态不正常时,压力测试需要熔断。
采用该实施例提供的压力测试的控制装置,通过HTTP响应码来判断接口的响应状态是否正常,判断和处理逻辑简单,判断准确性高。
具体地,熔断参数包括第一熔断阈值,在压力测试中,每请求接口业务一次,请求响应数据中包括一个HTTP请求响应码,HTTP请求响应码包括正常响应码和异常响应码,第一中断单元在判断接口的响应状态是否正常时,可执行以下步骤:统计测试结果中正常响应码的数量,得到第一统计值;统计测试结果中所有HTTP请求响应码,得到第二统计值;计算第一统计值与第二统计值的比值,得到第一比值;判断第一比值是否小于第一熔断阈值,其中,当第一比值小于第一熔断阈值时,接口的响应状态不正常。
可选地,测试结果包括业务关键字组,业务关键字组中包括若干业务关键字,第一中断模块204包括第二中断单元,该第二中断单元用于根据熔断参数、业务关键字组和熔断策略,判断接口的响应内容是否正常,其中,接口的响应内容不正常时,压力测试需要熔断。
采用该实施例提供的压力测试的控制装置,通过业务关键字组来判断接口的响应内容是否正常,判断和处理逻辑简单,判断准确性高。
具体地,熔断参数包括第一熔断阈值和断言关键字,在压力测试中,每请求接口业务一次,请求响应数据中包括一个业务关键字组,第一中断单元在判断接口的响应内容是否正常时,可执行以下步骤:统计测试结果中包括断言关键字的业务关键字组的数量,得到第三统计值;统计测试结果中所有业务关键字组的数量,得到第四统计值;计算第三统计值与第四统计值的比值,得到第二比值;判断第二比值是否小于第二熔断阈值,其中,当第二比值小于第二熔断阈值时,接口的响应内容不正常。
可选地,测试系统包括压力测试平台、压测容器管理平台、压测容器和压力测试工具,其中,压测容器管理平台用于创建和删除压测容器,压测容器用于提供压力测试工具的运行环境,压力测试工具用于执行压力测试。压力测试的控制装置位于压力测试平台。该压力测试的控制装置还包括发送模块,用于在获取压力测试的测试结果之前,发送压测容器创建请求至压测容器管理平台,压测容器管理平台响应该压测容器创建请求后,创建压测容器,在创建压测容器后,由压力测试工具进行压力测试,并接收接口返回的请求响应数据。当压力测试需要熔断时,第一中断模块具体执行的步骤包括:发送压测容器删除请求至压测容器管理平台,压测容器管理平台响应该压测容器删除请求后,删除压测容器,实现压力测试的中断。
采用该实施例提供的压力测试的控制装置,对应一个压力测试任务设置若干压测容器,当压力测试需要中断时,将压测容器直接删除,即可实现整个压力测试任务的中断,一方面,可彻底将压力测试任务中断,避免只中断部分进程,另一方面,执行逻辑简单,只需向压测容器管理平台发起删除请求即可,不需要发送多个逻辑的请求。
可选地,压测容器管理平台创建多个压测容器,每个压测容器上运行的压力测试工具执行压力测试后得到的请求响应数据均写入数据库,第二获取模块获取压力测试的测试结果时,具体执行的步骤包括:触发一个数据采集任务,其中,数据采集任务用于每隔时间间隔时,从数据库中获取一次当前时间间隔内的请求响应数据,形成测试结果。
采用该实施例提供的压力测试的控制装置,第二获取模块通过触发采集任务的形式实现测试结果的获取,也即实现一个时间间隔内请求响应数据的获取,既能够满足一段时间内数据的获取,有利于实现数据的聚合分析,又能够对压力测试的请求响应数据实时分析,以及时发现压力测试故障。
可选地,压力测试的控制装置还包括第二中断模块,用于当压力测试需要熔断时,中断数据采集任务。
采用该实施例提供的压力测试的控制装置,在第一中断模块中断压力测试时,第二中断模块将数据采集任务也中断,避免执行冗余的处理逻辑。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,本实施例的计算机设备01至少包括但不限于:可通过系统总线相互通信连接的存储器011、处理器012,如图4所示。需要指出的是,图4仅示出了具有组件存储器011和处理器012的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器011(即可读计算机可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器011可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器011也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器011还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器011通常用于存储安装于计算机设备01的操作系统和各类应用软件,例如实施例二的压力测试的控制装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器012在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如压力测试的控制装置等。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储压力测试的控制装置,被处理器执行时实现实施例一的压力测试的控制方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种压力测试的控制方法,其特征在于,包括:
获取被测接口进行压力测试的熔断参数;
获取所述压力测试的测试结果,其中,所述测试结果包括预定的时间间隔内多次请求所述接口的请求响应数据;
根据所述熔断参数、所述测试结果和预置的熔断策略,判断所述压力测试是否要熔断;
当所述压力测试需要熔断时,中断所述压力测试。
2.根据权利要求1所述的压力测试的控制方法,其特征在于,所述测试结果包括HTTP请求响应码,根据所述熔断参数、所述测试结果和预置的熔断策略,判断所述压力测试是否要熔断的步骤包括:
根据所述熔断参数、所述HTTP请求响应码和所述熔断策略,判断所述接口的响应状态是否正常,其中,所述接口的响应状态不正常时,所述压力测试需要熔断。
3.根据权利要求2所述的压力测试的控制方法,其特征在于,所述熔断参数包括第一熔断阈值,在所述压力测试中,每请求所述接口业务一次,所述请求响应数据中包括一个所述HTTP请求响应码,所述HTTP请求响应码包括正常响应码和异常响应码,根据所述熔断参数、所述HTTP请求响应码和所述熔断策略,判断所述接口的响应状态是否正常的步骤包括:
统计所述测试结果中所述正常响应码的数量,得到第一统计值;
统计所述测试结果中所有所述HTTP请求响应码,得到第二统计值;
计算所述第一统计值与所述第二统计值的比值,得到第一比值;
判断所述第一比值是否小于所述第一熔断阈值,其中,当所述第一比值小于所述第一熔断阈值时,所述接口的响应状态不正常。
4.根据权利要求1所述的压力测试的控制方法,其特征在于,所述测试结果包括业务关键字组,所述业务关键字组中包括若干业务关键字,根据所述熔断参数、所述业务关键字组和预置的熔断策略,判断所述压力测试是否要熔断的步骤包括:
根据所述熔断参数、所述业务关键字组和所述熔断策略,判断所述接口的响应内容是否正常,其中,所述接口的响应内容不正常时,所述压力测试需要熔断。
5.根据权利要求4所述的压力测试的控制方法,其特征在于,所述熔断参数包括第一熔断阈值和断言关键字,在所述压力测试中,每请求所述接口业务一次,所述请求响应数据中包括一个所述业务关键字组,根据所述熔断参数、所述测试结果和预置的熔断策略,判断所述压力测试是否要熔断的步骤包括:
统计所述测试结果中包括所述断言关键字的所述业务关键字组的数量,得到第三统计值;
统计所述测试结果中所有所述业务关键字组的数量,得到第四统计值;
计算所述第三统计值与所述第四统计值的比值,得到第二比值;
判断所述第二比值是否小于所述第二熔断阈值,其中,当所述第二比值小于所述第二熔断阈值时,所述接口的响应内容不正常。
6.根据权利要求1所述的压力测试的控制方法,其特征在于,
在获取所述压力测试的测试结果的步骤之前,所述压力测试的控制方法还包括:发送压测容器创建请求至压测容器管理平台,其中,所述压测容器用于提供压力测试工具的运行环境,所述压力测试工具用于执行所述压力测试;
当所述压力测试需要熔断时,中断所述压力测试的步骤包括:当所述压力测试需要熔断时,发送压测容器删除请求至所述压测容器管理平台。
7.根据权利要求6所述的压力测试的控制方法,其特征在于,所述压测容器管理平台创建多个所述压测容器,每个所述压测容器上运行的所述压力测试工具执行所述压力测试后得到的所述请求响应数据均写入数据库,获取所述压力测试的测试结果的步骤包括:
触发一个数据采集任务,其中,所述数据采集任务用于每隔所述时间间隔时,从所述数据库中获取一次当前时间间隔内的所述请求响应数据,形成所述测试结果。
8.根据权利要求7所述的压力测试的控制方法,其特征在于,所述压力测试的控制方法还包括:当所述压力测试需要熔断时,中断所述数据采集任务。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
CN201910248995.6A 2019-03-29 2019-03-29 压力测试的控制方法、计算机设备和计算机可读存储介质 Active CN111756594B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910248995.6A CN111756594B (zh) 2019-03-29 2019-03-29 压力测试的控制方法、计算机设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910248995.6A CN111756594B (zh) 2019-03-29 2019-03-29 压力测试的控制方法、计算机设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111756594A true CN111756594A (zh) 2020-10-09
CN111756594B CN111756594B (zh) 2022-04-15

Family

ID=72671237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910248995.6A Active CN111756594B (zh) 2019-03-29 2019-03-29 压力测试的控制方法、计算机设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111756594B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115065588A (zh) * 2022-05-31 2022-09-16 浪潮云信息技术股份公司 一种基于后端错误码的api熔断降级实现方法及系统
CN115834255A (zh) * 2023-02-17 2023-03-21 杭州孝道科技有限公司 一种针对Web请求进行安全检测的处理方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838664A (zh) * 2012-11-20 2014-06-04 腾讯科技(深圳)有限公司 一种压力测试方法和装置
US8849132B2 (en) * 2011-03-31 2014-09-30 Eastman Kodak Company Compensating for periodic nonuniformity in electrophotographic printer
CN105141947A (zh) * 2015-08-25 2015-12-09 深圳创维-Rgb电子有限公司 一种压力测试设备及其方法
CN106775968A (zh) * 2016-11-29 2017-05-31 上海斐讯数据通信技术有限公司 一种服务器测试方法、装置及系统
CN106776099A (zh) * 2017-01-11 2017-05-31 北京皮尔布莱尼软件有限公司 一种服务熔断隔离系统和方法
CN107908415A (zh) * 2017-11-30 2018-04-13 北京小米移动软件有限公司 处理方法、装置、设备和存储介质
CN109032783A (zh) * 2018-08-01 2018-12-18 杭州朗和科技有限公司 信息交互方法、介质、装置和计算设备
CN109101415A (zh) * 2018-06-25 2018-12-28 平安科技(深圳)有限公司 基于数据库比对的接口测试方法、系统、设备和存储介质
CN109165168A (zh) * 2018-09-14 2019-01-08 杭州云创共享网络科技有限公司 一种压力测试方法、装置、设备及介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849132B2 (en) * 2011-03-31 2014-09-30 Eastman Kodak Company Compensating for periodic nonuniformity in electrophotographic printer
CN103838664A (zh) * 2012-11-20 2014-06-04 腾讯科技(深圳)有限公司 一种压力测试方法和装置
CN105141947A (zh) * 2015-08-25 2015-12-09 深圳创维-Rgb电子有限公司 一种压力测试设备及其方法
CN106775968A (zh) * 2016-11-29 2017-05-31 上海斐讯数据通信技术有限公司 一种服务器测试方法、装置及系统
CN106776099A (zh) * 2017-01-11 2017-05-31 北京皮尔布莱尼软件有限公司 一种服务熔断隔离系统和方法
CN107908415A (zh) * 2017-11-30 2018-04-13 北京小米移动软件有限公司 处理方法、装置、设备和存储介质
CN109101415A (zh) * 2018-06-25 2018-12-28 平安科技(深圳)有限公司 基于数据库比对的接口测试方法、系统、设备和存储介质
CN109032783A (zh) * 2018-08-01 2018-12-18 杭州朗和科技有限公司 信息交互方法、介质、装置和计算设备
CN109165168A (zh) * 2018-09-14 2019-01-08 杭州云创共享网络科技有限公司 一种压力测试方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨国樑,: ""整车电气系统性能测试技术研究"", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115065588A (zh) * 2022-05-31 2022-09-16 浪潮云信息技术股份公司 一种基于后端错误码的api熔断降级实现方法及系统
CN115065588B (zh) * 2022-05-31 2024-04-05 浪潮云信息技术股份公司 一种基于后端错误码的api熔断降级实现方法及系统
CN115834255A (zh) * 2023-02-17 2023-03-21 杭州孝道科技有限公司 一种针对Web请求进行安全检测的处理方法及装置

Also Published As

Publication number Publication date
CN111756594B (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
CN109032824B (zh) 数据库校验方法、装置、计算机设备和存储介质
CN111177005B (zh) 业务应用的测试方法、装置、服务器和存储介质
CN112631913B (zh) 应用程序的运行故障监控方法、装置、设备和存储介质
CN107451040B (zh) 故障原因的定位方法、装置及计算机可读存储介质
CN108763089B (zh) 一种测试方法、装置及系统
CN108256322B (zh) 安全测试方法、装置、计算机设备和存储介质
CN108804399B (zh) 表单的校验方法及装置
CN110088744A (zh) 一种数据库维护方法及其系统
CN111756594B (zh) 压力测试的控制方法、计算机设备和计算机可读存储介质
CN110781070A (zh) 大数据测试验证方法、装置、计算机设备及存储介质
CN110647471A (zh) 接口测试用例生成方法、电子装置及存储介质
CN109344046B (zh) 一种数据处理方法、装置、介质及电子设备
CN113472607A (zh) 应用程序网络环境检测方法、装置、设备及存储介质
CN112000853B (zh) 设备唯一标识的生成/反馈方法、介质及客户端、服务端
CN110750443A (zh) 网页测试的方法、装置、计算机设备及存储介质
CN110063042A (zh) 一种数据库故障的响应方法及其终端
CN111045879A (zh) 压力测试报告的生成方法、装置及存储介质
CN107025129B (zh) 一种数据处理方法以及装置
CN111984520A (zh) 埋点测试方法、计算机设备及计算机可读存储介质
CN115729727A (zh) 故障修复方法、装置、设备及介质
CN113672634A (zh) 保单数据的校验方法、装置、设备及存储介质
CN112506791A (zh) 应用程序测试方法、装置、计算机设备和存储介质
CN116643906A (zh) 云平台故障的处理方法、装置、电子设备及存储介质
CN112286786A (zh) 数据库的测试方法、装置和服务器
CN117131545A (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