CN112765019A - 压测方法、装置、存储介质及电子设备 - Google Patents
压测方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112765019A CN112765019A CN202110044077.9A CN202110044077A CN112765019A CN 112765019 A CN112765019 A CN 112765019A CN 202110044077 A CN202110044077 A CN 202110044077A CN 112765019 A CN112765019 A CN 112765019A
- Authority
- CN
- China
- Prior art keywords
- target
- concurrency number
- pressure measurement
- throughput
- measurement engine
- 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
Links
- 238000009530 blood pressure measurement Methods 0.000 title claims abstract description 266
- 238000000034 method Methods 0.000 title claims abstract description 132
- 230000008569 process Effects 0.000 claims abstract description 71
- 238000012986 modification Methods 0.000 claims abstract description 58
- 230000004048 modification Effects 0.000 claims abstract description 58
- 238000012360 testing method Methods 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 11
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Testing Of Engines (AREA)
Abstract
本公开涉及一种压测方法、装置、存储介质及电子设备,以实现压测过程中并发数的实时更新,提高压测效率。该压测方法包括:在压测引擎的压测过程中,确定目标并发数;调用封装在所述压测引擎中的并发数修改插件将所述压测引擎的线程组信息中的活跃进程数设置为所述目标并发数,以使所述压测引擎通过所述目标并发数进行压测。
Description
技术领域
本公开涉及软件测试技术领域,具体地,涉及一种压测方法、装置、存储介质及电子设备。
背景技术
压测,即压力测试,是确定系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。并发数是系统可以同时处理的请求数量。在压测过程中,并发数是一项重要的测试指标。
相关技术中,压测引擎通常按照预设的恒定并发数进行压测,或者按照预设的恒定步长梯度增加并发数,以实现压测。此两种方式中,如果需要修改并发数,均必须等待当前执行的压测过程结束,然后由测试人员人工修改并发数,操作繁琐。并且,如果当前执行的压测过程较长,则会产生较长的等待时间,从而影响压测效率。
发明内容
本公开的目的是提供一种压测方法、装置、存储介质及电子设备,以实现压测过程中并发数的实时更新,提高压测效率。
为了实现上述目的,第一方面,本公开提供一种压测方法,所述方法包括:
在压测引擎的压测过程中,确定目标并发数;
调用封装在所述压测引擎中的并发数修改插件将所述压测引擎的线程组信息中的活跃进程数设置为所述目标并发数,以使所述压测引擎通过所述目标并发数进行压测。
可选地,所述目标并发数为用户输入的并发数,所述调用封装在所述压测引擎中的并发数修改插件将所述压测引擎的线程组信息中的活跃进程数设置为所述目标并发数,包括:
响应于所述用户输入的所述目标并发数,向所述压测引擎的应用程序接口发送用于获取所述压测引擎的线程组信息的线程获取请求,所述应用程序接口为所述并发数修改插件的对外接口;
响应于所述线程获取请求,通过所述并发数修改插件获取所述压测引擎的线程组信息,并确定所述线程组信息中的活跃进程数是否与所述目标并发数相等,在所述活跃进程数与所述目标并发数不相等的情况下,将所述线程组信息中的活跃进程数设置为所述目标并发数。
可选地,所述并发数修改插件作为元件封装在所述压测引擎中,所述并发数修改插件内部的服务类能够继承所述压测引擎中的配置元件类,且实现所述压测引擎的LoopIterationListener接口的功能,所述获取所述压测引擎的线程组信息,包括:
通过所述LoopIterationListener接口的iterationStart方法,从所述压测引擎的上下文中获取所述压测引擎的线程组信息。
可选地,所述确定目标并发数,包括:
每当所述压测引擎的压测时间到达目标预设时长时,向所述压测引擎的应用程序接口发送用于获取待测系统当前吞吐量的数据获取请求,所述应用程序接口为所述并发数修改插件的对外接口;
响应于所述数据获取请求,通过所述并发数修改插件获取所述待测系统的当前吞吐量,并根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数。
可选地,所述根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数,包括:
若所述待测系统的当前吞吐量与所述目标吞吐量之间的差值比率大于或等于预设阈值,且所述待测系统的当前吞吐量大于所述目标吞吐量,则减少所述压测引擎的并发数,以得到所述目标并发数;
若待测系统的当前吞吐量与所述目标吞吐量之间的差值比率大于或等于所述预设阈值,且所述待测系统的当前吞吐量小于所述目标吞吐量,则增加所述压测引擎的并发数,以得到所述目标并发数。
可选地,所述方法还包括:
将所述差值比率与所述压测引擎的并发数相乘,以得到第一并发数调整量;
所述减少所述压测引擎的并发数,以得到所述目标并发数,包括:
在所述压测引擎的并发数的基础上减少所述第一并发数调整量,以得到所述目标并发数;
所述增加所述压测引擎的并发数,以得到所述目标并发数,包括:
在所述压测引擎的并发数的基础上增加所述第一并发数调整量,以得到所述目标并发数。
可选地,所述方法还包括:
若所述待测系统的当前吞吐量与所述目标吞吐量之间的差值比率小于所述预设阈值,则停止压测。
可选地,所述根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数,包括:
若所述待测系统的当前吞吐量大于上一目标预设时长内的历史吞吐量,则在所述压测引擎的并发数的基础上增加第一并发数,以得到所述目标并发数,若所述待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量,则在所述压测引擎的并发数的基础上增加第二并发数,以得到所述目标并发数,其中,所述第二并发数小于所述第一并发数。
可选地,所述根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数,包括:
每当到达所述目标预设时长时,确定所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值比率,并将所述差值比率与当前目标预设时长内所述压测引擎的并发数相乘,以得到当前目标预设时长对应的第二并发数调整量;
在当前目标预设时长内所述压测引擎的并发数的基础上增加所述第二并发数调整量,以得到所述目标并发数。
可选地,所述方法还包括:
当所述待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量时,将所述历史吞吐量作为初始的最大吞吐量,执行以下处理:
每当到达所述目标预设时长时,若所述待测系统的当前吞吐量小于或等于上一目标预设时长内的历史吞吐量,则将该历史吞吐量作为新的最大吞吐量,直到所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于预设差值;
将所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于所述预设差值时的最大吞吐量所对应的并发数确定为所述待测系统吞吐量拐点的并发数。
可选地,所述压测引擎中设置有Jetty容器,所述并发数修改插件封装在所述Jetty容器中。
可选地,所述向所述压测引擎的应用程序接口发送请求,包括:
通过同步的超文本传输协议HTTP请求方式向所述压测引擎的应用程序接口发送请求。
第二方面,本公开还提供一种压测装置,所述装置包括:
确定模块,用于在压测引擎的压测过程中,确定目标并发数;
调用模块,用于调用封装在所述压测引擎中的并发数修改插件将所述压测引擎的线程组信息中的活跃进程数设置为所述目标并发数,以使所述压测引擎通过所述目标并发数进行压测。
第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
第四方面,本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。
通过上述技术方案,在压测引擎的压测过程中,可以通过调用并发数修改插件将压测引擎的线程组信息中的活跃进程数修改为目标并发数,从而压测引擎可以通过该目标并发数进行压测。通过此种方式,无需人工修改并发数,可以实现压测过程中并发数的自动更新。并且,相较于相关技术中需等待当前压测过程执行完成后再进行并发数更新的方式,可以实现压测过程中并发数的实时更新,提高并发数的更新效率,从而提高压测效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种压测方法的流程图;
图2是根据本公开一示例性实施例示出的一种压测方法的压测过程示意图;
图3是根据本公开另一示例性实施例示出的一种压测方法的压测过程示意图;
图4是根据本公开另一示例性实施例示出的一种压测方法的压测过程示意图;
图5是根据本公开一示例性实施例示出的一种压测装置的框图;
图6是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
正如背景技术所言,相关技术中压测引擎通常按照预设的恒定并发数进行压测,或者按照预设的恒定步长梯度增加并发数,以实现压测。此两种方式中,如果需要修改并发数,均必须等待当前执行的压测过程结束,然后由测试人员人工修改并发数,操作繁琐。并且,如果当前执行的压测过程较长,则会产生较长的等待时间,从而影响压测效率。
有鉴于此,本公开提供一种压测方法、装置、存储介质及电子设备,以解决相关技术中的问题,减少用于修改并发数的人力和时间,同时实现压测过程中并发数的实时动态更新,以提高压测效率。
图1是根据本公开一示例性实施例示出的一种压测方法的流程图。参照图1,该压测方法包括:
步骤101,在压测引擎的压测过程中,确定目标并发数。
示例地,目标并发数可以是用户输入的并发数,也可以是在压测引擎的当前并发数的基础上增加或减少一定并发数而得到的,本公开实施例对此不作限定,后文将对目标并发数的确定过程作进一步说明。
步骤102,调用封装在压测引擎中的并发数修改插件将压测引擎的线程组信息中的活跃进程数设置为目标并发数,以使压测引擎通过目标并发数进行压测。
示例地,压测引擎中可以封装有并发数修改插件,该并发数修改插件可以随着压测引擎的启动而启动,随着压测引擎的停止而停止。在压测过程中,在确定目标并发数之后,压测引擎可以调用该并发数修改插件将压测引擎的线程组信息中的活跃进程数修改为目标并发数,从而压测引擎可以通过该目标并发数进行压测。通过此种方式,无需人工修改并发数,可以实现压测过程中并发数的自动更新。并且,相较于相关技术中需等待当前压测过程执行完成后再进行并发数更新的方式,可以实现压测过程中并发数的实时更新,提高并发数的更新效率,从而提高压测效率。
为了使得本领域技术人员更加理解本公开提供的压测方法,下面对上述各步骤进行详细举例说明。
在可能的方式中,压测引擎中可以设置有Jetty容器,并发数修改插件可以封装在Jetty容器中。其中,Jetty容器是开源的、基于Java的web容器,在实际应用中可以将Jetty容器实例化成一个对象,从而快速地为一些独立运行的Java应用提供网络和web连接。本公开实施例将并发数修改插件封装在Jetty容器中,可以实现压测引擎对并发数修改插件的快速调用,从而提高压测效率。
在可能的方式中,目标并发数可以是用户输入的并发数,相应地,步骤102可以是:响应于用户输入的目标并发数,向压测引擎的应用程序接口发送用于获取压测引擎的线程组信息的线程获取请求,该应用程序接口为并发数修改插件的对外接口。然后,响应于线程获取请求,通过并发数修改插件获取压测引擎的线程组信息,并确定线程组信息中的活跃进程数是否与目标并发数相等,在活跃进程数与目标并发数不相等的情况下,将线程组信息中的活跃进程数设置为目标并发数。
示例地,用户可以在压测平台前端输入目标并发数,然后压测平台前端可以响应于用户输入的该目标并发数,向压测引擎的应用程序接口发送线程获取请求。在可能的方式中,向压测引擎的应用程序接口发送请求可以是:通过同步的超文本传输协议HTTP请求方式向压测引擎的应用程序接口发送请求。也即是说,可以通过同步HTTP请求方式向压测引擎的应用程序接口发送线程获取请求,以使压测引擎的原有压测过程与该线程获取请求的发送过程同步执行,既不影响原有压测过程,又可以触发并发数更新过程,从而提高压测引擎的执行效率。
示例地,应用程序接口是封装在压测引擎中的并发数修改插件暴露的对外接口,通过该应用程序接口,并发数修改插件可以访问当前正在执行的测试计划的相关信息,比如当前压测的并发数、压测方式(按时间执行或按次数执行)、当前线程组的状态,等等。比如,基于应用程序接口,并发数修改插件可以通过GET方式访问当前正在执行的测试计划下的所有线程组信息,访问路径可以是:/v1/thread。或者,并发数修改插件可以通过GET方式访问当前正在执行的测试计划下的指定线程组信息,访问路径可以是:/v1/threads/${threadName}。又或者,并发数修改插件可以通过POST方式接收指定的线程组名称,从而修改该线程组名称对应的线程组信息,访问路径可以是/v1/threads/${threadName}。在实际应用中,可以根据业务需求来确定获取压测引擎当前执行的测试计划下的所有线程组信息或指定线程组信息,本公开实施例对此不作限定。
在可能的方式中,并发数修改插件可以作为元件封装在压测引擎中,并发数修改插件内部的服务类能够继承压测引擎中的配置元件类,且实现压测引擎的LoopIterationListener接口的功能。相应地,获取压测引擎的线程组信息可以是:通过LoopIterationListener接口的iterationStart方法,从压测引擎的上下文中获取压测引擎的线程组信息。
示例地,本公开实施例中压测引擎可以是JMeter压测引擎。并发数修改插件作为元件封装在JMeter中,因此并发数修改插件内部的服务主类能够继承JMeter配置元件类(ConfigTestElement),并实现JMeter的相关监听器接口,比如LoopIterationListener接口。其中,LoopIterationListener接口可以通过实现iterationStart方法,控制每次发生迭代事件时所需要实现的逻辑。因此,可以通过重写LoopIterationListener接口的iterationStart方法,以获取JMeter的上下文,并从该上下文中获取到当前的压测引擎实例和线程组信息。其中,JMeter的上下文可以理解为JMeter的环境运行信息,包含有进程信息和设备信息等与JMeter运行相关的信息。
示例地,用户输入的目标并发数可能与线程组信息中的活跃进程数相等,即待测系统的当前并发数可能与该目标并发数相同,此种情况下无需进行并发数更新。因此,为了减少不必要的并发数更新操作,在获取压测引擎的线程组信息之后,可以判断线程组信息中的活跃进程数是否与目标并发数相等,然后在活跃进程数与目标并发数不相等的情况下,将线程组信息中的活跃进程数设置为目标并发数。
例如,参照图2,在根据用户输入的目标并发数动态更新并发数的场景下,通常的压测过程是:触发“开始压测”,然后压测平台前端将预设的恒定并发数发送给压测引擎,以触发压测引擎执行压测过程。在此压测过程中,如果需要更新并发数,可以响应于用户输入的目标并发数,基于同步HTTP请求方式向封装在压测引擎的并发数修改插件的应用程序接口发送线程获取请求,以通过并发数修改插件获取压测引擎的线程组信息,然后并发数修改插件确定线程组信息中的活跃进程数是否与目标并发数相等,并在活跃进程数与目标并发数不相等的情况下,将线程组信息中的活跃进程数设置为目标并发数,以使压测引擎通过目标并发数进行压测。在活跃进程数与目标并发数相等的情况下,则无需进行并发数更新,可以结束本次并发数更新过程。
应当理解的是,本公开实施例中,在更新并发数的过程中,压测相关的其他测试变量和配置信息无需作更改,压测引擎可以按照原有的压测配置,仅在并发数更新的情况下继续执行压测过程,直到压测执行结束。通过此种方式,无需频繁修改压测场景参数,即可完成对指定场景的压测,可以覆盖更多、更复杂的压测场景。并且可以实现压测过程中并发数的实时自动更新,减少用于并发数修改的人力和时间,从而提高压测效率。
在可能的方式中,步骤101中确定目标并发数还可以是:每当压测引擎的压测时间到达目标预设时长时,向压测引擎的应用程序接口发送用于获取待测系统当前吞吐量的数据获取请求,该应用程序接口为所述并发数修改插件的对外接口。然后,响应于数据获取请求,通过并发数修改插件获取待测系统的当前吞吐量,并根据待测系统的当前吞吐量与目标吞吐量,确定目标并发数。
示例地,目标预设时长可以根据业务需求进行设定,比如可以设定为10秒,也可以设定为20秒,等等,本公开实施例对此不作限定。类似地,目标吞吐量也可以根据业务需求进行设定,本公开实施例对此不作限定。数据获取请求可以通过同步HTTP请求方式发送给向压测引擎的应用程序接口,以提高压测引擎的执行效率。
示例地,吞吐量(TPS,Transactions Per Second)是指系统在单位时间内处理请求的数量,可以通过并发数除以平均响应时间得到。其中,平均响应时间指的是用户从发出请求到接收完响应之间的平均耗时。实际应用中,可以通过对压测引擎设定不同的并发数,实现针对待测系统不同吞吐量的测试。比如,压测目标可能是达到目标吞吐量或者确定吞吐量拐点(即确定最大吞吐量)。相关技术通常是每次压测完成后,由测试人员根据本次压测过程的吞吐量调整并发数,通过多次反复调整,以使待测系统的吞吐量达到目标吞吐量或确定吞吐量拐点。在此过程中,不仅无法实现并发数的实时动态更新,而且需要耗费较多的人力和时间对并发数进行多次反复调整,操作繁琐,从而导致压测效率较低。
本公开实施例中,每当压测时间达到目标预设时长,压测引擎可以自动向应用程序接口发送数据获取请求。上文已有说明,该应用程序接口是封装在压测引擎中的并发数修改插件暴露的对外接口,通过该应用程序接口,并发数修改插件可以访问当前正在执行的测试计划的相关信息。因此,在本公开实施例中,可以通过并发数修改插件获取待测系统的当前吞吐量,从而通过当前吞吐量和目标吞吐量确定目标并发数。
在可能的方式中,在目标TPS模式下,即在压测目标是确定目标吞吐量的场景下,根据待测系统的当前吞吐量与目标吞吐量,确定目标并发数可以是:若待测系统的当前吞吐量与目标吞吐量之间的差值比率大于或等于预设阈值,且待测系统的当前吞吐量大于目标吞吐量,则减少压测引擎的并发数,以得到目标并发数。若待测系统的当前吞吐量与目标吞吐量之间的差值比率大于或等于预设阈值,且待测系统的当前吞吐量小于目标吞吐量,则增加压测引擎的并发数,以得到目标并发数。
示例地,在目标TPS模式下,目标吞吐量可以是根据不同压测场景下的压测业务需求而设定的,本公开实施例对此不作限定。预设阈值可以是根据实际业务需求而设定的,比如可以将预设阈值设定为5%,等等,本公开实施例也对此不作限定。
示例地,差值比率可以按照如下公式计算得到:其中,Tnow表示当前吞吐量,T表示目标吞吐量。也即是说,差值比率可以是当前吞吐量与目标吞吐量之间的差值比上目标吞吐量,再乘以100%而得到的。当然,在其他可能的方式中,也可以不用乘以100%,将当前吞吐量与目标吞吐量之间的差值比上目标吞吐量的比值作为差值比率,本公开实施例对此不作限定。需要注意的是,预设阈值的数值应当与差值比率对应,比如当差值比例是乘以100%后得到的,则预设阈值可以设定为5%,当差值比例未乘以100%,则预设阈值可以设定为0.05。
示例地,若待测系统的当前吞吐量与目标吞吐量之间的差值比率大于或等于预设阈值,则说明待测系统的当前吞吐量与目标吞吐量之间相差较多,需要通过调整压测引擎的并发数来调整待测系统的当前吞吐量,以使待测系统的当前吞吐量达到目标吞吐量。在此种情况下,如果待测系统的当前吞吐量大于目标吞吐量,则说明待测系统的当前吞吐量超过目标吞吐量较多,因此可以通过减少压测引擎的并发数来减少待测系统的当前吞吐量。如果待测系统的当前吞吐量小于目标吞吐量,则说明待测系统的当前吞吐量离达到目标吞吐量还差得较多,因此可以通过增加压测引擎的并发数来增加待测系统的当前吞吐量。
示例地,减少压测引擎的并发数可以是每次按照固定的预设减少量进行减少,以得到目标并发数。增加压测引擎的并发数也可以是每次按照固定的预设增加量进行增加,以得到目标并发数。其中,预设减少量和预设增加量可以根据实际业务情况设定。比如,差值比率通过百分数表示,在任意持续一段时间的压测过程中,每隔10秒获取当前吞吐量,若当前吞吐量与目标吞吐量之间的差值比率大于10%,即待测系统的当前吞吐量与目标吞吐量相差较大,从而预设减少量和预设增加量可以设定得较大,比如均可以设定为50,即每次固定减少或增加50并发数。或者,差值比率通过百分数表示,在任意持续一段时间的压测过程中,每隔10秒获取当前吞吐量,若当前吞吐量与目标吞吐量之间的差值比率大于5%且小于10%,即待测系统的当前吞吐量与目标吞吐量相差较小,从而预设减少量和预设增加量可以设定得较小,比如均可以设定为10,即每次固定减少或增加10并发数,等等,本公开实施例对此不作限定。
在可能的方式中,还可以将差值比率与压测引擎的并发数相乘,以得到第一并发数调整量。相应地,减少压测引擎的并发数可以是:在压测引擎的并发数的基础上减少第一并发数调整量,以得到目标并发数。增加压测引擎的并发数可以是:在压测引擎的并发数的基础上增加第一并发数调整量,以得到目标并发数。比如,差值比率为20%,且当前吞吐量大于目标吞吐量,则说明当前吞吐量比目标吞吐量高20%,从而可以减少20%的当前并发数(即压测引擎的当前并发数)。或者,差值比率为20%,且当前吞吐量小于目标吞吐量,则说明当前吞吐量比目标吞吐量低20%,从而可以增加20%的当前并发数。通过此种方式,在目标TPS模式下,可以在当前吞吐量与目标吞吐量相差较多的情况下,则对并发数进行较多量的调整,反之则对并发数进行较少量的调整,从而实现对并发数的动态更新。
在可能的方式中,当压测引擎的压测时长达到目标预设时长时,若待测系统的当前吞吐量与目标吞吐量之间的差值比率小于预设阈值,则可以停止压测。应当理解的是,待测系统的当前吞吐量与目标吞吐量之间的差值比率小于预设阈值,则说明待测系统的当前吞吐量与目标吞吐量较为接近,因此可以认为待测系统的当前吞吐量达到了目标吞吐量,从而可以停止压测。当然在其他可能的情况下,也可以在待测系统的当前吞吐量与目标吞吐量完全相等的情况下,认为待测系统的当前吞吐量达到了目标吞吐量,从而停止压测,本公开实施例对此不作限定,可以根据实际业务需求进行设定。
例如,参照图3,在目标TPS模式下,目标预设时长为20秒,设置目标吞吐量(TPS)后开始压测,每执行20秒,可以获取待测系统的当前吞吐量,并将当前吞吐量与目标吞吐量进行比较。若当前吞吐量与目标吞吐量之间的差值比率大于或等于预设阈值,且待测系统的当前吞吐量大于目标吞吐量,则按照差值比例减少压测引擎的并发数,即按照由差值比例确定的第一并发数调整量减少压测引擎的并发数,以得到目标并发数继续执行压测。若待测系统的当前吞吐量与目标吞吐量之间的差值比率大于或等于预设阈值,且待测系统的当前吞吐量小于目标吞吐量,则按照差值比例增加压测引擎的并发数,即按照由差值比例确定的第一并发数调整量增加压测引擎的并发数,以得到目标并发数继续执行压测。若待测系统的当前吞吐量与目标吞吐量之间的差值比率小于预设阈值,则认为达到目标吞吐量(TPS),停止压测。
通过上述方式,可以在目标TPS模式下,根据当前吞吐量和目标吞吐量增加或减少压测引擎的并发数,以得到目标并发数,从而压测引擎可以在压测过程中调用并发数修改插件实现自动的并发数更新,无需测试人员反复调整并发数,以达到目标吞吐量,进而可以提高目标TPS模式下的压测效率。
在可能的方式中,在确定待测系统吞吐量拐点的场景下,目标吞吐量可以是上一目标预设时长内的历史吞吐量,相应地,根据待测系统的当前吞吐量与目标吞吐量,确定目标并发数可以是:若待测系统的当前吞吐量大于上一目标预设时长内的历史吞吐量,则在压测引擎的并发数的基础上增加第一并发数,以得到目标并发数,若待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量,则在压测引擎的并发数的基础上增加第二并发数,以得到目标并发数,其中,第二并发数小于第一并发数。
应当理解的是,待测系统吞吐量的变化加速度可以通过每两个目标预设时长内并发数的差值除以当前并发数得到。比如,若两个目标预设时长内并发数的差值为50,则可以通过50除以当前并发数确定待测系统吞吐量在该两个目标预设时长内的变化加速度。因此随着并发数的变化,待测系统吞吐量的变化趋势可以是:先快速增加,后缓慢增加,在增加到最大值后,先缓慢减少,再快速减少。在确定待测系统吞吐量拐点的场景下,即需要确定使得吞吐量最大的并发数,则可以每间隔目标预设时长,自动获取待测系统的当前吞吐量和上一目标预设时长的历史吞吐量进行比较分析,以确定使得吞吐量最大的并发数。
示例地,若待测系统的当前吞吐量大于上一目标预设时长内的历史吞吐量,则说明待测系统的吞吐量呈快速增加趋势,从而可以通过增加较多的并发数来使待测系统的吞吐量快速达到最大值,进而提升确定吞吐量拐点的效率。反之,若待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量,则说明待测系统的吞吐量已经呈减少趋势,吞吐量拐点可能介于当前吞吐量和上一目标预设时长的历史吞吐量之间,因此可以通过增加较少的并发数来缓慢增加并发数,以确定吞吐量拐点。
例如,在待测系统的当前吞吐量大于上一目标预设时长内的历史吞吐量的情况下,可以在压测引擎的并发数的基础上增加较大的第一并发数,以实现吞吐量的快速增加。相应地,在待测系统的当前吞吐量小于或等于上一目标预设时长内的历史吞吐量的情况下,可以在压测引擎的并发数的基础上增加比第一并发数更小的第二并发数,以实现吞吐量的缓慢增加。其中,第一并发数和第二并发数可以根据实际业务需求进行设定,比如,可以设定第一并发数为50,第二并发数为10,等等,本公开实施例对此不作限定,只要第二并发数小于第一并发数即可。
在可能的方式中,在确定待测系统吞吐量拐点的场景下,目标吞吐量为上一目标预设时长内的历史吞吐量,相应地,根据待测系统的当前吞吐量与目标吞吐量,确定目标并发数还可以是:每当到达目标预设时长时,确定待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值比率,并将该差值比率与当前目标预设时长内压测引擎的并发数相乘,以得到当前目标预设时长对应的第二并发数调整量,然后在当前目标预设时长内压测引擎的并发数的基础上增加第二并发数调整量,以得到目标并发数。
也即是说,与目标TPS模式下的并发数调整方式类似,在确定待测系统吞吐量拐点的场景下,每一目标预设时长内,可以根据当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值比率,对当前目标预设时长内压测引擎的并发数进行动态更新,直到当前吞吐量与上一目标预设时长内的历史吞吐量近似相等,比如两者之间的差值小于预设数值,等等。
示例地,该差值比率可以通过如下公式计算得到:其中,Tnow表示当前吞吐量,Th表示上一目标预设时长内的历史吞吐量。当然,在其他可能的方式中,也可以不用乘以100%,将当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值比上该历史吞吐量的比值直接作为差值比率,本公开实施例对此不作限定。
在本公开实施例中,当前吞吐量与上一目标预设时长内的历史吞吐量相差越多,则第二并发数调整量越大,反之则第二并发数调整量越小。在当前吞吐量大于上一目标预设时长内的历史吞吐量的情况下,说明吞吐量处于快速增加趋势,因此当前吞吐量与上一目标预设时长内的历史吞吐量之间应该相差较大,即第二并发数调整量较大,进而可以通过第二并发数调整量使待测系统的吞吐量快速增加到最大值,提升确定待测系统吞吐量拐点的效率。反之,在当前吞吐量小于上一目标预设时长内的历史吞吐量的情况下,说明吞吐量处于缓慢减少趋势,因此当前吞吐量与上一目标预设时长内的历史吞吐量之间应该相差较小,即第二并发数调整量较小,进而可以通过第二并发数调整量使待测系统的吞吐量缓慢增加到最大值,以确定吞吐量拐点。
在可能的方式中,确定待测系统吞吐量拐点的并发数可以是:当待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量时,将历史吞吐量作为初始的最大吞吐量,执行以下处理:每当到达目标预设时长时,若待测系统的当前吞吐量小于或等于上一目标预设时长内的历史吞吐量,则将该历史吞吐量作为新的最大吞吐量,直到待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于预设差值,最后将待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于预设差值时的最大吞吐量所对应的并发数确定为待测系统吞吐量拐点的并发数。其中,预设差值可以根据实际情况设定,本公开实施例对此不作限定。应当理解的是,该预设差值设定得越小,则表明当前吞吐量与上一目标预设时长内的历史吞吐量越接近,从而可以得到更加准确的吞吐量拐点并发数。
例如,参照图4,在确定待测系统吞吐量拐点的场景下,目标预设时长为10秒,第一并发数为50,第二并发数为10。开始压测后,每执行10秒,可以获取待测系统的当前吞吐量,并将当前吞吐量与上一目标预设时长内(即上一个10秒内)的历史吞吐量进行比较。若当前若待测系统的当前吞吐量大于上一目标预设时长内的历史吞吐量,则在压测引擎的并发数的基础上增加50并发,以得到目标并发数继续压测。若待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量,则将上一目标预设时长内的历史吞吐量作为最大吞吐量(maxTPS),并在压测引擎的并发数的基础上增加10并发,以得到目标并发数继续压测,以此循环,直到待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于预设差值。在每一次循环过程中,即每一目标预设时长后,若待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值没有小于预设差值,则最大吞吐量(maxTPS)会被更新为当前目标时长对应的历史吞吐量,从而在循环结束之后,可以确定当前最大吞吐量(maxTPS)对应的并发数确定为拐点并发数(即待测系统最大吞吐量对应的并发数)。
通过上述方式,可以在确定吞吐量拐点的场景下,根据当前吞吐量和上一目标预设时长内的历史吞吐量按照不同的梯度增加压测引擎的并发数,以得到目标并发数,从而压测引擎可以在压测过程中调用并发数修改插件实现自动的并发数更新,无需测试人员反复调整并发数,以确定吞吐量拐点,进而可以提高压测效率。
基于同一发明构思,本公开实施例还提供一种压测装置,该压测装置可以通过软件、硬件或者两者结合的方式成为压测设备的部分或全部。参照图5,该压测装置500包括:
确定模块501,用于在压测引擎的压测过程中,确定目标并发数;
调用模块502,用于调用封装在所述压测引擎中的并发数修改插件将所述压测引擎的线程组信息中的活跃进程数设置为所述目标并发数,以使所述压测引擎通过所述目标并发数进行压测。
可选地,所述目标并发数为用户输入的并发数,所述调用模块502用于:
响应于所述用户输入的所述目标并发数,向所述压测引擎的应用程序接口发送用于获取所述压测引擎的线程组信息的线程获取请求,所述应用程序接口为所述并发数修改插件的对外接口;
响应于所述线程获取请求,通过所述并发数修改插件获取所述压测引擎的线程组信息,并确定所述线程组信息中的活跃进程数是否与所述目标并发数相等,在所述活跃进程数与所述目标并发数不相等的情况下,将所述线程组信息中的活跃进程数设置为所述目标并发数。
可选地,所述并发数修改插件作为元件封装在所述压测引擎中,所述并发数修改插件内部的服务类能够继承所述压测引擎中的配置元件类,且实现所述压测引擎的LoopIterationListener接口的功能,所述调用模块502用于:
通过所述LoopIterationListener接口的iterationStart方法,从所述压测引擎的上下文中获取所述压测引擎的线程组信息。
可选地,所述确定模块501用于:
每当所述压测引擎的压测时间到达目标预设时长时,向所述压测引擎的应用程序接口发送用于获取待测系统当前吞吐量的数据获取请求,所述应用程序接口为所述并发数修改插件的对外接口;
响应于所述数据获取请求,通过所述并发数修改插件获取所述待测系统的当前吞吐量,并根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数。
可选地,所述确定模块501用于:
当所述待测系统的当前吞吐量与所述目标吞吐量之间的差值比率大于或等于预设阈值,且所述待测系统的当前吞吐量大于所述目标吞吐量时,减少所述压测引擎的并发数,以得到所述目标并发数;
当待测系统的当前吞吐量与所述目标吞吐量之间的差值比率大于或等于所述预设阈值,且所述待测系统的当前吞吐量小于所述目标吞吐量时,增加所述压测引擎的并发数,以得到所述目标并发数。
可选地,所述装置500还包括第一调整模块,用于将所述差值比率与所述压测引擎的并发数相乘,以得到第一并发数调整量;
所述确定模块501用于:
在所述压测引擎的并发数的基础上减少所述第一并发数调整量,以得到所述目标并发数;或者
在所述压测引擎的并发数的基础上增加所述第一并发数调整量,以得到所述目标并发数。
可选地,所述装置500还包括:
停止控制模块,用于当所述待测系统的当前吞吐量与所述目标吞吐量之间的差值比率小于所述预设阈值时,停止压测。
可选地,所述确定模块501用于:
当所述待测系统的当前吞吐量大于上一目标预设时长内的历史吞吐量时,在所述压测引擎的并发数的基础上增加第一并发数,以得到所述目标并发数,当所述待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量时,在所述压测引擎的并发数的基础上增加第二并发数,以得到所述目标并发数,其中,所述第二并发数小于所述第一并发数。
可选地,所述确定模块501用于:
每当到达所述目标预设时长时,确定所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值比率,并将所述差值比率与当前目标预设时长内所述压测引擎的并发数相乘,以得到当前目标预设时长对应的第二并发数调整量;
在当前目标预设时长内所述压测引擎的并发数的基础上增加所述第二并发数调整量,以得到所述目标并发数。
可选地,所述装置500还包括拐点确定模块,用于:
当所述待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量时,将所述历史吞吐量作为初始的最大吞吐量,执行以下处理:
每当到达所述目标预设时长时,若所述待测系统的当前吞吐量小于或等于上一目标预设时长内的历史吞吐量,则将该历史吞吐量作为新的最大吞吐量,直到所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于预设差值;
将所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于所述预设差值时的最大吞吐量所对应的并发数确定为所述待测系统吞吐量拐点的并发数。
可选地,所述压测引擎中设置有Jetty容器,所述并发数修改插件封装在所述Jetty容器中。
可选地,所述所述调用模块502用于:
通过同步的超文本传输协议HTTP请求方式向所述压测引擎的应用程序接口发送请求。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于同一发明构思,本公开实施例还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一压测方法的步骤。
在可能的方式中,参照图6,该电子设备600可以包括:处理器601,存储器602。该电子设备600还可以包括多媒体组件603,输入/输出(I/O)接口604,以及通信组件605中的一者或多者。
其中,处理器601用于控制该电子设备600的整体操作,以完成上述的压测方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该电子设备600的操作,这些数据例如可以包括用于在该电子设备600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件603可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件605用于该电子设备600与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件605可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的压测方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的压测方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器602,上述程序指令可由电子设备600的处理器601执行以完成上述的压测方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的压测方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (15)
1.一种压测方法,其特征在于,所述方法包括:
在压测引擎的压测过程中,确定目标并发数;
调用封装在所述压测引擎中的并发数修改插件将所述压测引擎的线程组信息中的活跃进程数设置为所述目标并发数,以使所述压测引擎通过所述目标并发数进行压测。
2.根据权利要求1所述的方法,其特征在于,所述目标并发数为用户输入的并发数,所述调用封装在所述压测引擎中的并发数修改插件将所述压测引擎的线程组信息中的活跃进程数设置为所述目标并发数,包括:
响应于所述用户输入的所述目标并发数,向所述压测引擎的应用程序接口发送用于获取所述压测引擎的线程组信息的线程获取请求,所述应用程序接口为所述并发数修改插件的对外接口;
响应于所述线程获取请求,通过所述并发数修改插件获取所述压测引擎的线程组信息,并确定所述线程组信息中的活跃进程数是否与所述目标并发数相等,在所述活跃进程数与所述目标并发数不相等的情况下,将所述线程组信息中的活跃进程数设置为所述目标并发数。
3.根据权利要求2所述的方法,其特征在于,所述并发数修改插件作为元件封装在所述压测引擎中,所述并发数修改插件内部的服务类能够继承所述压测引擎中的配置元件类,且实现所述压测引擎的LoopIterationListener接口的功能,所述获取所述压测引擎的线程组信息,包括:
通过所述LoopIterationListener接口的iterationStart方法,从所述压测引擎的上下文中获取所述压测引擎的线程组信息。
4.根据权利要求1所述的方法,其特征在于,所述确定目标并发数,包括:
每当所述压测引擎的压测时间到达目标预设时长时,向所述压测引擎的应用程序接口发送用于获取待测系统当前吞吐量的数据获取请求,所述应用程序接口为所述并发数修改插件的对外接口;
响应于所述数据获取请求,通过所述并发数修改插件获取所述待测系统的当前吞吐量,并根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数,包括:
若所述待测系统的当前吞吐量与所述目标吞吐量之间的差值比率大于或等于预设阈值,且所述待测系统的当前吞吐量大于所述目标吞吐量,则减少所述压测引擎的并发数,以得到所述目标并发数;
若待测系统的当前吞吐量与所述目标吞吐量之间的差值比率大于或等于所述预设阈值,且所述待测系统的当前吞吐量小于所述目标吞吐量,则增加所述压测引擎的并发数,以得到所述目标并发数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述差值比率与所述压测引擎的并发数相乘,以得到第一并发数调整量;
所述减少所述压测引擎的并发数,以得到所述目标并发数,包括:
在所述压测引擎的并发数的基础上减少所述第一并发数调整量,以得到所述目标并发数;
所述增加所述压测引擎的并发数,以得到所述目标并发数,包括:
在所述压测引擎的并发数的基础上增加所述第一并发数调整量,以得到所述目标并发数。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
若所述待测系统的当前吞吐量与所述目标吞吐量之间的差值比率小于所述预设阈值,则停止压测。
8.根据权利要求4所述的方法,其特征在于,所述根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数,包括:
若所述待测系统的当前吞吐量大于上一目标预设时长内的历史吞吐量,则在所述压测引擎的并发数的基础上增加第一并发数,以得到所述目标并发数,若所述待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量,则在所述压测引擎的并发数的基础上增加第二并发数,以得到所述目标并发数,其中,所述第二并发数小于所述第一并发数。
9.根据权利要求4所述的方法,其特征在于,所述根据所述待测系统的当前吞吐量与目标吞吐量,确定所述目标并发数,包括:
每当到达所述目标预设时长时,确定所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值比率,并将所述差值比率与当前目标预设时长内所述压测引擎的并发数相乘,以得到当前目标预设时长对应的第二并发数调整量;
在当前目标预设时长内所述压测引擎的并发数的基础上增加所述第二并发数调整量,以得到所述目标并发数。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
当所述待测系统的当前吞吐量小于上一目标预设时长内的历史吞吐量时,将所述历史吞吐量作为初始的最大吞吐量,执行以下处理:
每当到达所述目标预设时长时,若所述待测系统的当前吞吐量小于或等于上一目标预设时长内的历史吞吐量,则将该历史吞吐量作为新的最大吞吐量,直到所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于预设差值;
将所述待测系统的当前吞吐量与上一目标预设时长内的历史吞吐量之间的差值小于所述预设差值时的最大吞吐量所对应的并发数确定为所述待测系统吞吐量拐点的并发数。
11.根据权利要求1-6任一项所述的方法,其特征在于,所述压测引擎中设置有Jetty容器,所述并发数修改插件封装在所述Jetty容器中。
12.根据权利要求2-6任一项所述的方法,其特征在于,所述向所述压测引擎的应用程序接口发送请求,包括:
通过同步的超文本传输协议HTTP请求方式向所述压测引擎的应用程序接口发送请求。
13.一种压测装置,其特征在于,所述装置包括:
确定模块,用于在压测引擎的压测过程中,确定目标并发数;
调用模块,用于调用封装在所述压测引擎中的并发数修改插件将所述压测引擎的线程组信息中的活跃进程数设置为所述目标并发数,以使所述压测引擎通过所述目标并发数进行压测。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-12中任一项所述方法的步骤。
15.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110044077.9A CN112765019B (zh) | 2021-01-13 | 2021-01-13 | 压测方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110044077.9A CN112765019B (zh) | 2021-01-13 | 2021-01-13 | 压测方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765019A true CN112765019A (zh) | 2021-05-07 |
CN112765019B CN112765019B (zh) | 2024-01-19 |
Family
ID=75700243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110044077.9A Active CN112765019B (zh) | 2021-01-13 | 2021-01-13 | 压测方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765019B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704031A (zh) * | 2021-08-06 | 2021-11-26 | 北京罗克维尔斯科技有限公司 | 系统压力测试方法、装置、介质及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717236A (zh) * | 2013-12-11 | 2015-06-17 | 中国移动通信集团公司 | 一种设备性能测试方法及装置 |
CN104809058A (zh) * | 2011-06-17 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 一种在测试执行中动态调度并发数量的方法及装置 |
CN106055464A (zh) * | 2016-05-26 | 2016-10-26 | 努比亚技术有限公司 | 数据缓存集群压力测试装置及方法 |
CN108874637A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 一种压力测试的方法、系统、电子设备和可读存储介质 |
CN109684228A (zh) * | 2019-01-07 | 2019-04-26 | 武汉斗鱼鱼乐网络科技有限公司 | 一种性能测试方法、装置、系统和存储介质 |
CN109885470A (zh) * | 2019-03-04 | 2019-06-14 | 上海拉扎斯信息科技有限公司 | 线程池的调整方法、装置、存储介质和电子设备 |
CN110635961A (zh) * | 2018-06-22 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 服务器的压测方法、装置和系统 |
-
2021
- 2021-01-13 CN CN202110044077.9A patent/CN112765019B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809058A (zh) * | 2011-06-17 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 一种在测试执行中动态调度并发数量的方法及装置 |
CN104717236A (zh) * | 2013-12-11 | 2015-06-17 | 中国移动通信集团公司 | 一种设备性能测试方法及装置 |
CN106055464A (zh) * | 2016-05-26 | 2016-10-26 | 努比亚技术有限公司 | 数据缓存集群压力测试装置及方法 |
CN108874637A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 一种压力测试的方法、系统、电子设备和可读存储介质 |
CN110635961A (zh) * | 2018-06-22 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 服务器的压测方法、装置和系统 |
CN109684228A (zh) * | 2019-01-07 | 2019-04-26 | 武汉斗鱼鱼乐网络科技有限公司 | 一种性能测试方法、装置、系统和存储介质 |
CN109885470A (zh) * | 2019-03-04 | 2019-06-14 | 上海拉扎斯信息科技有限公司 | 线程池的调整方法、装置、存储介质和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704031A (zh) * | 2021-08-06 | 2021-11-26 | 北京罗克维尔斯科技有限公司 | 系统压力测试方法、装置、介质及设备 |
CN113704031B (zh) * | 2021-08-06 | 2023-10-10 | 北京罗克维尔斯科技有限公司 | 系统压力测试方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112765019B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107835101B (zh) | 对服务器进行压力测试的方法及装置、终端 | |
US9846608B2 (en) | Providing application operational insights to users based on crowd sourced performance metrics for operational states | |
US9715421B2 (en) | Wrapped applications providing operational insight to users based on rules for acceptable operational state performance | |
CN109901881B (zh) | 应用程序的插件加载方法、装置、计算机设备及存储介质 | |
CN113485918B (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN105653338B (zh) | 一种应用的更新方法及装置 | |
WO2020211360A1 (zh) | Mock测试方法、系统、电子设备及计算机非易失性可读存储介质 | |
CN109542777A (zh) | 一种压力测试方法、装置及可读介质 | |
CN109857528B (zh) | 数据迁移的速度调整方法、装置、存储介质和移动终端 | |
CN110634163A (zh) | 终端摄像头参数校准方法、装置、设备和存储介质 | |
CN111158465A (zh) | 一种力触觉振动反馈方法及系统 | |
CN112765019B (zh) | 压测方法、装置、存储介质及电子设备 | |
CN112134961A (zh) | 客户端的使用控制方法、客户端及计算机存储介质 | |
CN111200744B (zh) | 一种多媒体播放控制方法、装置及智能设备 | |
CN113191114B (zh) | 用于验证系统的方法和装置 | |
CN112685269A (zh) | 数据的获取方法、装置、电子设备及存储介质 | |
CN111722693B (zh) | 功耗调节方法、装置、存储介质、服务器和终端 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN108418730B (zh) | 网络流量测试方法、装置、设备以及计算机可读存储介质 | |
CN115797267A (zh) | 图像质量评估方法、系统、电子设备和存储介质 | |
CN115033469A (zh) | 网站系统性能测试方法及装置、设备和存储介质 | |
CN114490374A (zh) | 应用的压力测试方法、电子设备、存储介质及程序产品 | |
CN112306883A (zh) | 软件测试方法、装置及介质 | |
CN111026651A (zh) | 测试方法、装置、存储介质及电子设备 | |
CN117883789B (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 |