CN111581039A - 系统性能的测试方法、装置、设备及存储介质 - Google Patents
系统性能的测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111581039A CN111581039A CN202010410261.6A CN202010410261A CN111581039A CN 111581039 A CN111581039 A CN 111581039A CN 202010410261 A CN202010410261 A CN 202010410261A CN 111581039 A CN111581039 A CN 111581039A
- Authority
- CN
- China
- Prior art keywords
- test
- stage
- current
- target
- testing
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 254
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000011056 performance test Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 48
- 238000004364 calculation method Methods 0.000 claims description 27
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 210000003127 knee Anatomy 0.000 claims 4
- 238000010998 test method Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- IGXGTNBLVPCUNT-UHFFFAOYSA-N 5-[2-(2-butoxyethoxy)ethoxymethyl]-6-propyl-1,3-benzodioxole;[cyano-(3-phenoxyphenyl)methyl] 3-(2,2-dichloroethenyl)-2,2-dimethylcyclopropane-1-carboxylate;diethoxy-sulfanylidene-(3,5,6-trichloropyridin-2-yl)oxy-$l^{5}-phosphane Chemical compound CCOP(=S)(OCC)OC1=NC(Cl)=C(Cl)C=C1Cl.C1=C(CCC)C(COCCOCCOCCCC)=CC2=C1OCO2.CC1(C)C(C=C(Cl)Cl)C1C(=O)OC(C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 IGXGTNBLVPCUNT-UHFFFAOYSA-N 0.000 description 1
- 101100482039 Aspergillus niger tpsA gene Proteins 0.000 description 1
- 101150077059 TPS1 gene Proteins 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003102 growth factor Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 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/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种系统性能的测试方法、装置、设备及存储介质,所述系统性能的测试方法包括一个以上的测试阶段,针对任一所述测试阶段,通过通过基于目标并发数对目标系统进行阶段测试,然后基于目标系统在当前测试阶段的当前系统吞吐量以及预设拐点条件,完成目标系统的拐点数据的确定,无需测试人员逐步增加并发量进行测试任务的重复测试,提高系统的性能测试效率,提升测试用户体验,解决了现有系统性能的测试方法测试效率低下以及测试用户体验较差的技术问题。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及系统性能的测试方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,数据测试技术也不例外,但由于金融行业的安全性、实时性要求,也对数据测试技术提出的更高的要求。在性能测试过程中,通过模拟虚拟用户向被测系统发送请求,以对被测系统进行试压。其中,虚拟用户的数量称为并发量。随着并发量的增加,被测系统的处理能力也会随之增大,被测系统的负载也会逐步增大。当被测系统的负载增大到一定程度时,则会影响到被测系统的处理能力。在现有的性能测试流程中,为了确定系统处理能力的性能拐点(即最大处理能力),需要测试人员从一定的的起始并发数开始,逐步增加并发量,重复进行测试任务,直至系统的性能测试能力开始下降。测试人员逐步增加并发量进行测试任务的重复测试,不仅降低了测试效率,而且降低了测试用户体验。
发明内容
本发明的主要目的在于提出一种系统性能的测试方法、装置、设备及计算机可读存储介质,旨在解决现有系统性能的测试方法测试效率低下以及测试用户体验较差的技术问题。
为实现上述目的,本发明提供一种系统性能的测试方法,所述系统性能的测试方法包括一个以上的测试阶段,针对任一所述测试阶段,执行步骤包括:
获取当前测试阶段对应的目标并发数,并根据所述目标并发数控制目标系统对测试数据进行阶段测试;
基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量;
根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试。
可选地,所述根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试的步骤具体包括:
若所述当前系统吞吐量不符合所述拐点条件,则获取预存历史系统吞吐量、所述当前系统吞吐量、预存历史并发数以及所述目标并发数;
根据预设并发数计算公式、所述历史系统吞吐量、当前系统吞吐量、历史并发数以及目标并发数,计算所述当前测试阶段的下一阶段的并发数,以根据所述下一阶段的并发数进行下一阶段测试。
可选地,所述并发数计算公式为:
Conn=Conn-1+k*Tpsn-1*(Conn-1-Conn-2)/(Tpsn-1-Tpsn-2),其中,Conn为第n测试阶段的并发数,n不小于2,Tpsn为第n测试阶段的系统吞吐量,k为常数,Con0=0,Tps0=0。
可选地,所述根据预设并发数计算公式、所述历史系统吞吐量、当前系统吞吐量、历史并发数以及目标并发数,计算所述当前测试阶段的下一阶段的并发数,以根据所述下一阶段的并发数进行下一阶段测试的步骤之后,还包括:
判断所述下一阶段的并发数是否大于预设的最大并发数;
若所述下一阶段的并发数大于所述最大并发数,则生成并发数异常的提醒信息,显示所述提醒信息并终止所述目标系统的性能测试。
可选地,所述基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量的步骤具体包括:
基于预设吞吐量计算公式、所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统的当前系统吞吐量,其中,所述吞吐量计算公式为:
Tpsn=RNumn/Trunn,其中,Tpsn为第n测试阶段的系统高吞吐量,RNumn为第n测试阶段发送的请求数,Trunn为第n测试阶段的运行时间。
可选地,所述根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试的步骤具体包括:
获取所述历史系统吞吐量中的所述当前测试阶段的上一阶段的系统吞吐量,判断所述当前系统吞吐量是否小于所述上一阶段的系统吞吐量;
若所述当前系统吞吐量小于所述上一阶段的系统吞吐量,则确定所述当前系统吞吐量为所述目标系统的最大拐点,完成所述目标系统的性能测试。
可选地,所述获取所述历史系统吞吐量中的所述当前测试阶段的上一阶段的系统吞吐量,判断所述当前系统吞吐量是否小于所述上一阶段的系统吞吐量的步骤之后,还包括:
若所述当前系统吞吐量不小于所述上一阶段的系统吞吐量,则判断所述目标系统是否存在连续预设个数相等的系统吞吐量;
若所述目标系统存在连续预设个数相等的系统吞吐量,则确定所述连续预设个数相等的系统吞吐量为所述目标系统的最大拐点,完成所述目标系统的性能测试。
此外,为实现上述目的,本发明还提供一种系统性能的测试装置,所述系统性能的测试装置包括:
系统阶段测试模块,用于获取当前测试阶段对应的目标并发数,并根据所述目标并发数控制目标系统对测试数据进行阶段测试;
阶段吞吐量计算模块,用于基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量;
系统拐点确定模块,用于根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试。
此外,为实现上述目的,本发明还提供一种系统性能的测试设备,所述系统性能的测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统性能的测试程序,所述系统性能的测试程序被所述处理器执行时实现如上所述的系统性能的测试方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有系统性能的测试程序,所述系统性能的测试程序被处理器执行时实现如上所述的系统性能的测试方法的步骤。
本发明提供一种系统性能的测试方法,所述系统性能的测试方法包括一个以上的测试阶段,针对任一所述测试阶段,通过获取当前测试阶段对应的目标并发数,并根据所述目标并发数控制目标系统对测试数据进行阶段测试;基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量;根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试。通过上述方式,本发明通过基于目标并发数对目标系统进行阶段测试,然后基于目标系统在当前测试阶段的当前系统吞吐量以及预设拐点条件,完成目标系统的拐点数据的确定,无需测试人员逐步增加并发量进行测试任务的重复测试,提高系统的性能测试效率,提升测试用户体验,解决了现有系统性能的测试方法测试效率低下以及测试用户体验较差的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明系统性能的测试方法第一实施例的流程示意图;
图3为本发明系统吞吐量与并发数的关系曲线图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例系统性能的测试设备可以是PC机或服务器设备,其上运行有Java虚拟机。
如图1所示,该系统性能的测试设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及系统性能的测试程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的系统性能的测试程序,并执行下述系统性能的测试方法中的操作。
基于上述硬件结构,提出本发明系统性能的测试方法实施例。
参照图2,图2为本发明系统性能的测试方法第一实施例的流程示意图,所述系统性能的测试方法包括以下步骤:
步骤S10,获取当前测试阶段对应的目标并发数,并根据所述目标并发数控制目标系统对测试数据进行阶段测试;
目前,随着并发量的增加,被测系统的处理能力也会随之增大,被测系统的负载也会逐步增大。当被测系统的负载增大到一定程度时,则会影响到被测系统的处理能力。在现有的性能测试流程中,为了确定系统处理能力的性能拐点(即最大处理能力),需要测试人员从一定的的起始并发数开始,逐步增加并发量,重复进行测试任务,直至系统的性能测试能力开始下降。测试人员逐步增加并发量进行测试任务的重复测试,不仅降低了测试效率,而且降低了测试用户体验。为了提升性能测试人员的测试效率,使测试人员从重复的测试工作中释放出来,本实施例通过预设测试参数以及并发数增长规则对目标系统进行阶段测试,并计算统计各个测试阶段的系统吞吐量,然后将目标系统在各个测试阶段的系统吞吐量变化参数与预设拐点条件进行比对,由此确定目标系统的拐点数据,完成目标系统的性能测试,无需测试人员逐步增加并发量进行测试任务的重复测试,使测试人员通过简单的配置即可启动测试流程,完成系统性能拐点的测试,提高系统的性能测试效率,提升测试用户体验。具体的,所述系统性能的测试方法包括一个以上的测试阶段,针对任一所述测试阶段,测试系统可基于当前测试阶段对应的目标并发述,控制目标系统进行当前的阶段测试。即测试人员可根据实际测试的目标系统预先设置各个测试阶段对应的目标并发数,各个测试阶段对应的目标并发数可以是对应的固定值,也可以是根据预设公式和参数计算出的值。如第一测试阶段对应的目标并发数可以根据预设进行初始并发数、处理时长以及并发数增长规则等相关参数的配置。也可以按照数据库中预存数据,确定所述目标系统对应的相关参数配置。然后根据所述初始并发数、处理时长以及并发数增长规则,启动系统性能测试流程,对目标系统进行阶段测试。具体实施例中,基于并发数的特定增长,依次进行各个阶段的系统性能测试。在进行系统性能测试的过程中,随着并发数的增加,系统的处理能力首先是按照某种趋势逐步增加的,但服务端的压力也会随之逐步增大,导致响应耗时也逐步增加。当并发数达到一定程度时,服务器就会到达极限,从而导致处理能力达到最高点,之后开始初步下降,造成系统处理超时或者处理失败等问题。
具体的,获取所述目标系统处理单个数据的耗时单位,并根据预设初始吞吐量以及所述耗时单位,计算得到第一测试阶段对应的初始并发数。
本实施例中,在单笔任务下,系统进行单笔请求的处理耗时是最快的。后续随着压力增加,处理耗时也会逐步增加。因此,通过向服务端发送一笔请求,获取目标系统处理单笔请求的耗时,作为目标系统处理单个数据的耗时单位。根据此耗时计算目标系统处理单笔请求的初始吞吐量Tps1,例如:Tps1=1000/T0(毫秒),以所述Tps1为基准,设置对应的初始并发数Con1,具体计算规则如下表所示:
步骤S20,基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量;
本实施例中,处理能力会随着并发数的增长而递增,但是由于服务器会受到多种因素(操作系统、数据库、网络等)的影响,处理能力会按照近似于曲线的轨迹进行增加。在确定所述目标系统在当前测试阶段的目标并发数后,获取所述目标系统在当前测试阶段中的运行时间以及处理请求数,如3分钟,即在3分钟的时间内,不停的向目标系统发送业务请求,然后控制目标系统以目标并发数进行数据处理,以便对目标系统进行当前阶段的数据阶段测试。例如:
1:首先设置并发数为100的并发任务,进行性能测试,连续测试三次,取中间值,系统吞吐量TPS结果为600(笔/秒),耗时为167ms。
2:增加并发任务,设置并发数为200的并发任务,连续测试三次,取中间值,TPS结果为900(笔/秒),耗时为222ms。
3:增加并发任务,设置并发数为300的并发任务,连续测试三次,取中间值,TPS结果为1100(笔/秒),耗时为272ms。
4:增加并发任务,设置并发数为400的并发任务,连续测试三次,取中间值,TPS结果为1200(笔/秒),耗时为333ms。
5:增加并发任务,设置并发数为500的并发任务,连续测试三次,取中间值,TPS结果为1050(笔/秒),耗时为476ms,并且包含有失败的情况等。
步骤S30,根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试。
本实施例中,将当前系统吞吐量与测试系统预存的历史系统吞吐量进行比对,若在TPSN-1>TPSN时,即从某一测试阶段的处理能力开始下降时,确定TPSN-1为目标系统的最大处理能力,该点为目标系统的拐点。具体实施例中,在性能测试过程中,处理能力可能并不会到了拐点之后开始下降,而是维持在某一个稳定值,即当判定连续三个阶段的TPS相等时,确定该TPS为最大处理能力,该三点为目标系统的拐点,由此完成所述目标系统的性能测试。更多实施例中,在对目标系统完成一个测试阶段的测试后,将该测试系统对应的相关历史参数进行存储。即,基于相关历史参数获取或计算目标系统的历史系统吞吐量,可根据所述目标系统在相邻测试阶段的吞吐量变化情况,确定目标系统在各个测试阶段的处理能力。当处理能力开始下降或趋于稳定时,即确定目标系统拐点已经到达。
本实施例提供一种系统性能的测试方法,所述系统性能的测试方法包括一个以上的测试阶段,针对任一所述测试阶段,通过获取当前测试阶段对应的目标并发数,并根据所述目标并发数控制目标系统对测试数据进行阶段测试;基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量;根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试。通过上述方式,本发明通过基于目标并发数对目标系统进行阶段测试,然后基于目标系统在当前测试阶段的当前系统吞吐量以及预设拐点条件,完成目标系统的拐点数据的确定,无需测试人员逐步增加并发量进行测试任务的重复测试,提高系统的性能测试效率,提升测试用户体验,解决了现有系统性能的测试方法测试效率低下以及测试用户体验较差的技术问题。
进一步地,基于本发明系统性能的测试方法第一实施例,提出本发明系统性能的测试方法第二实施例。
在本实施例中,所述步骤S30具体包括:
若所述当前系统吞吐量不符合所述拐点条件,则获取预存历史系统吞吐量、所述当前系统吞吐量、预存历史并发数以及所述目标并发数;
根据预设并发数计算公式、所述历史系统吞吐量、当前系统吞吐量、历史并发数以及目标并发数,计算所述当前测试阶段的下一阶段的并发数,以根据所述下一阶段的并发数进行下一阶段测试。
其中,所述并发数计算公式为:
Conn=Conn-1+k*Tpsn-1*(Conn-1-Conn-2)/(Tpsn-1-Tpsn-2),其中,Conn为第n测试阶段的并发数,n不小于2,Tpsn为第n测试阶段的系统吞吐量,k为常数,Con0=0,Tps0=0。
目前按照固定数据进行并发数的增长,以进行各个测试阶段的系统性能测试并不符合实际的处理能力变化情况,降低了性能测试的准确度,为了提升性能测试的准确度,本实施例中,如图3所示,假设Conn-1并发场景下,处理能力为Tpsn-1,Conn并发场景下处理能力为Tpsn,则如果按照该趋势,在Conn+1并发场景下,处理能力为Tpsn+1。根据三角形斜率相同,可以得出公式:(Tpsn+1-Tpsn)/(Conn+1-Conn)=(Tpsn-Tpsn-1)/(Conn-Conn-1)。从该公式换算得到,Conn+1=Conn+(Tpsn+1-Tpsn)*(Conn-Conn-1)/(Tpsn-Tpsn-1),根据该公式就可以计算得到N+1阶段对应的并发数Conn+1,对于TPS增长趋势,可以设置一个固定的增长因子k,如0.3,即Tpsn+1=Tpsn+0.3*Tpsn。由于设定了增加因子,可以得到预估值Tpsn+1,如图3中的曲线所示,该值近似于实际测试值TpsXn+1,由于测试因素影响,Tpsn+1<TpsXn+1。根据上述公式,可以计算得到N+1阶段的并发数Conn+1。具体地:若所述当前系统吞吐量不符合所述拐点条件,则需要进一步进行下一阶段的测试,获取预存历史系统吞吐量、所述当前系统吞吐量、预存历史并发数以及所述目标并发数,并结合并发数计算公式、所述历史系统吞吐量、当前系统吞吐量、历史并发数以及目标并发数,计算所述当前测试阶段的下一阶段的并发数,以根据所述下一阶段的并发数进行下一阶段测试。即:
第一测试阶段:获取的初始并发数Con1启动测试,运行时间为Trun秒,运行完成之后即完成第一阶段的测试,测试完成之后,获取性能指标Tps1,Tps1=RNum1/Trun1,RNum1为第一阶段所发送的请求数。
第二测试阶段:首先需要根据公式计算出本阶段所需的并发数,公式如下:Conn=Con2=Conn-1+0.3*Tpsn-1*(Conn-1-Conn-2)/(Tpsn-1-Tpsn-2)=Con1+0.3*Tps1*Con1/Tps1=1.3*Con1,(此处的n为2,Con0和Tps0都是0)计算出Con2,根据该并发数Con2启动测试,运行时间为Trun,运行完成之后即完成第二阶段的测试,测试完成之后,获取性能指标Tps2=RNum2/Trun2,RNum2为第二阶段所发送的请求数。
第三测试阶段:根据公式计算出本阶段所需的并发数,公式如下:Conn=Con3=Conn-1+0.3*Tpsn-1*(Conn-1-Conn-2)/(Tpsn-1-Tpsn-2)=Con2+0.3*Tps2*(Con2-Con1)/(Tps2-Tps1),根据该并发数Con3启动测试,运行时间为Trun秒,运行完成之后即完成第三阶段的测试,测试完成之后,获取性能指标Tps3=RNum3/Trun3,RNum3为第二阶段所发送的请求数。
第N测试阶段:根据公式计算出本阶段所需的并发数。公式如下:Conn=Conn-1+0.3*Tpsn-1*(Conn-1-Conn-2)/(Tpsn-1-Tpsn-2),根据该并发数Conn启动测试,运行时间为Trun秒,运行完成之后即完成第N阶段的测试,测试完成之后,获取性能指标Tpsn=RNumn/Trunn,RNumn为第N阶段所发送的请求数,Trunn为目标系统在3分钟内,处理请求的累计运行时间,作为第N阶段的运行时长。具体实施例中,运行时长可以是固定时长,默认3分钟,也可以是统计目标系统在各个测试阶段的实际处理时长。
其中,本实施例中的当前测试阶段可以是上述测试阶段中的任一测试阶段。
进一步地,所述根据预设并发数计算公式、所述历史系统吞吐量、当前系统吞吐量、历史并发数以及目标并发数,计算所述当前测试阶段的下一阶段的并发数,以根据所述下一阶段的并发数进行下一阶段测试的步骤之后,还包括:
判断所述下一阶段的并发数是否大于预设的最大并发数;
若所述下一阶段的并发数大于所述最大并发数,则生成并发数异常的提醒信息,显示所述提醒信息并终止所述目标系统的性能测试。
本实施例中,为了避免耗尽系统的试压能力,预先指定最大并发数,即当系统某一阶段的并发数达到最大并发数maxCon时,结束测试。即在计算出下一阶段的并发数大于所述最大并发数,即当Con2>maxCon时,表示配置不合理,运行预设运行时长Trun后,停止测试。
进一步地,基于本发明系统性能的测试方法第二实施例,提出本发明系统性能的测试方法第三实施例。
在本实施例中,所述步骤S20具体包括:
基于预设吞吐量计算公式、所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统的当前系统吞吐量,其中,所述吞吐量计算公式为:
Tpsn=RNumn/Trunn,其中,Tpsn为第n测试阶段的系统高吞吐量,RNumn为第n测试阶段发送的请求数,Trunn为第n测试阶段的运行时间。
本实施例中,第一测试阶段:获取的初始并发数Con1启动测试,运行时间为Trun秒,运行完成之后即完成第一阶段的测试,测试完成之后,获取性能指标Tps1,Tps1=RNum1/Trun1,RNum1为第一阶段所发送的请求数。
第二测试阶段:首先需要根据公式计算出本阶段所需的并发数,公式如下:Conn=Con2=Conn-1+0.3*Tpsn-1*(Conn-1-Conn-2)/(Tpsn-1-Tpsn-2)=Con1+0.3*Tps1*Con1/Tps1=1.3*Con1,(此处的n为2,Con0和Tps0都是0)计算出Con2,根据该并发数Con2启动测试,运行时间为Trun,运行完成之后即完成第二阶段的测试,测试完成之后,获取性能指标Tps2=RNum2/Trun2,RNum2为第二阶段所发送的请求数。
进一步地,所述步骤S30具体包括:
获取所述历史系统吞吐量中的所述当前测试阶段的上一阶段的系统吞吐量,判断所述当前系统吞吐量是否小于所述上一阶段的系统吞吐量;
若所述当前系统吞吐量小于所述上一阶段的系统吞吐量,则确定所述当前系统吞吐量为所述目标系统的最大拐点,完成所述目标系统的性能测试。
进一步地,所述获取所述历史系统吞吐量中的所述当前测试阶段的上一阶段的系统吞吐量,判断所述当前系统吞吐量是否小于所述上一阶段的系统吞吐量的步骤之后,还包括:
若所述当前系统吞吐量不小于所述上一阶段的系统吞吐量,则判断所述目标系统是否存在连续预设个数相等的系统吞吐量;
若所述目标系统存在连续预设个数相等的系统吞吐量,则确定所述连续预设个数相等的系统吞吐量为所述目标系统的最大拐点,完成所述目标系统的性能测试。
本实施例中,当达到如下条件时,则确定系统的拐点数据,测试完成,结束当前的性能测试。
1、TPSn-1>TPSn时,则表示n-1时间的TPS为最大拐点。即若所述第二系统吞吐量小于所述第一系统吞吐量,则确定所述第一系统吞吐量为所述目标系统的最大拐点;
2、连续三个阶段TPS相等时,即TPSn-1=TPSn=TPSn+1时,则表示n时间的TPS为最大拐点。若所述目标系统存在连续预设个数相等的系统吞吐量,则确定所述连续预设个数相等的系统吞吐量为所述目标系统的最大拐点。其中,所述预设个数可以为3个或者其他个数。
本发明还提供一种系统性能的测试装置,所述系统性能的测试装置包括:
系统阶段测试模块,用于获取当前测试阶段对应的目标并发数,并根据所述目标并发数控制目标系统对测试数据进行阶段测试;
阶段吞吐量计算模块,用于基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量;
系统拐点确定模块,用于根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试。
进一步地,所述系统阶段测试模块具体包括:
阶段数据获取单元,用于若所述当前系统吞吐量不符合所述拐点条件,则获取预存历史系统吞吐量、所述当前系统吞吐量、预存历史并发数以及所述目标并发数;
阶段参数计算单元,用于根据预设并发数计算公式、所述历史系统吞吐量、当前系统吞吐量、历史并发数以及目标并发数,计算所述当前测试阶段的下一阶段的并发数,以根据所述下一阶段的并发数进行下一阶段测试。
其中,所述并发数计算公式为:
Conn=Conn-1+k*Tpsn-1*(Conn-1-Conn-2)/(Tpsn-1-Tpsn-2),其中,Conn为第n测试阶段的并发数,n不小于2,Tpsn为第n测试阶段的系统吞吐量,k为常数,Con0=0,Tps0=0。
进一步地,所述系统性能的测试装置还包括最大并发数判断模块,所述最大并发数判断模块用于:
判断所述下一阶段的并发数是否大于预设的最大并发数;
若所述下一阶段的并发数大于所述最大并发数,则生成并发数异常的提醒信息,显示所述提醒信息并终止所述目标系统的性能测试。
进一步地,所述阶段吞吐量计算模块具体包括:
吞吐量计算单元,用于基于预设吞吐量计算公式、所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统的当前系统吞吐量,其中,所述吞吐量计算公式为:
Tpsn=RNumn/Trunn,其中,Tpsn为第n测试阶段的系统高吞吐量,RNumn为第n测试阶段发送的请求数,Trunn为第n测试阶段的运行时间。
进一步地,所述系统拐点确定模块具体包括:
第一拐点判断单元,用于获取所述历史系统吞吐量中的所述当前测试阶段的上一阶段的系统吞吐量,判断所述当前系统吞吐量是否小于所述上一阶段的系统吞吐量;
第一拐点确定单元,用于若所述当前系统吞吐量小于所述上一阶段的系统吞吐量,则确定所述当前系统吞吐量为所述目标系统的最大拐点,完成所述目标系统的性能测试。
进一步地,所述系统拐点确定模块具体还包括:
第二拐点判断模块,用于若所述当前系统吞吐量不小于所述上一阶段的系统吞吐量,则判断所述目标系统是否存在连续预设个数相等的系统吞吐量;
第二拐点确定单元,用于若所述目标系统存在连续预设个数相等的系统吞吐量,则确定所述连续预设个数相等的系统吞吐量为所述目标系统的最大拐点,完成所述目标系统的性能测试。
上述各程序模块所执行的方法可参照本发明系统性能的测试方法各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有系统性能的测试程序,所述系统性能的测试程序被处理器执行时实现如上所述的系统性能的测试方法的步骤。
其中,在所述处理器上运行的系统性能的测试程序被执行时所实现的方法可参照本发明系统性能的测试方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种系统性能的测试方法,其特征在于,所述系统性能的测试方法包括一个以上的测试阶段,针对任一所述测试阶段,执行步骤包括:
获取当前测试阶段对应的目标并发数,并根据所述目标并发数控制目标系统对测试数据进行阶段测试;
基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量;
根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试。
2.如权利要求1所述的系统性能的测试方法,其特征在于,所述根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试的步骤具体包括:
若所述当前系统吞吐量不符合所述拐点条件,则获取预存历史系统吞吐量、所述当前系统吞吐量、预存历史并发数以及所述目标并发数;
根据预设并发数计算公式、所述历史系统吞吐量、当前系统吞吐量、历史并发数以及目标并发数,计算所述当前测试阶段的下一阶段的并发数,以根据所述下一阶段的并发数进行下一阶段测试。
3.如权利要求2所述的系统性能的测试方法,其特征在于,所述并发数计算公式为:
Conn=Conn-1+k*Tpsn-1*(Conn-1-Conn-2)/(Tpsn-1-Tpsn-2),其中,Conn为第n测试阶段的并发数,n不小于2,Tpsn为第n测试阶段的系统吞吐量,k为常数,Con0=0,Tps0=0。
4.如权利要求3所述的系统性能的测试方法,其特征在于,所述根据预设并发数计算公式、所述历史系统吞吐量、当前系统吞吐量、历史并发数以及目标并发数,计算所述当前测试阶段的下一阶段的并发数,以根据所述下一阶段的并发数进行下一阶段测试的步骤之后,还包括:
判断所述下一阶段的并发数是否大于预设的最大并发数;
若所述下一阶段的并发数大于所述最大并发数,则生成并发数异常的提醒信息,显示所述提醒信息并终止所述目标系统的性能测试。
5.如权利要求2-4中任一项所述的系统性能的测试方法,其特征在于,所述基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量的步骤具体包括:
基于预设吞吐量计算公式、所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统的当前系统吞吐量,其中,所述吞吐量计算公式为:
Tpsn=RNumn/Trunn,其中,Tpsn为第n测试阶段的系统高吞吐量,RNumn为第n测试阶段发送的请求数,Trunn为第n测试阶段的运行时间。
6.如权利要求5所述的系统性能的测试方法,其特征在于,所述根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试的步骤具体包括:
获取所述历史系统吞吐量中的所述当前测试阶段的上一阶段的系统吞吐量,判断所述当前系统吞吐量是否小于所述上一阶段的系统吞吐量;
若所述当前系统吞吐量小于所述上一阶段的系统吞吐量,则确定所述当前系统吞吐量为所述目标系统的最大拐点,完成所述目标系统的性能测试。
7.如权利要求6所述的系统性能的测试方法,其特征在于,所述获取所述历史系统吞吐量中的所述当前测试阶段的上一阶段的系统吞吐量,判断所述当前系统吞吐量是否小于所述上一阶段的系统吞吐量的步骤之后,还包括:
若所述当前系统吞吐量不小于所述上一阶段的系统吞吐量,则判断所述目标系统是否存在连续预设个数相等的系统吞吐量;
若所述目标系统存在连续预设个数相等的系统吞吐量,则确定所述连续预设个数相等的系统吞吐量为所述目标系统的最大拐点,完成所述目标系统的性能测试。
8.一种系统性能的测试装置,其特征在于,所述系统性能的测试装置包括:
系统阶段测试模块,用于获取当前测试阶段对应的目标并发数,并根据所述目标并发数控制目标系统对测试数据进行阶段测试;
阶段吞吐量计算模块,用于基于所述目标系统在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标系统在所述当前测试阶段中的当前系统吞吐量;
系统拐点确定模块,用于根据预设拐点条件以及所述当前系统吞吐量,确定所述目标系统的拐点数据,完成所述目标系统的性能测试。
9.一种系统性能的测试设备,其特征在于,所述系统性能的测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统性能的测试程序,所述系统性能的测试程序被所述处理器执行时实现如权利要求1至7中任一项所述的系统性能的测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有系统性能的测试程序,所述系统性能的测试程序被处理器执行时实现如权利要求1至7中任一项所述的系统性能的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410261.6A CN111581039A (zh) | 2020-05-14 | 2020-05-14 | 系统性能的测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410261.6A CN111581039A (zh) | 2020-05-14 | 2020-05-14 | 系统性能的测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111581039A true CN111581039A (zh) | 2020-08-25 |
Family
ID=72110884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010410261.6A Pending CN111581039A (zh) | 2020-05-14 | 2020-05-14 | 系统性能的测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581039A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540902A (zh) * | 2020-12-03 | 2021-03-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种片上系统性能检验方法、装置、设备及可读存储介质 |
CN113342589A (zh) * | 2021-08-05 | 2021-09-03 | 北京金堤科技有限公司 | 对服务器进行压力测试的方法和装置 |
CN117033153A (zh) * | 2023-08-14 | 2023-11-10 | 北京达美盛软件股份有限公司 | 一种基于Python的自动化测试方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740111A (zh) * | 2016-01-29 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种性能检测方法及装置 |
CN106649057A (zh) * | 2015-10-28 | 2017-05-10 | 北京国双科技有限公司 | 一种服务器压力测试的方法及装置 |
CN109426593A (zh) * | 2017-08-24 | 2019-03-05 | 北京京东尚科信息技术有限公司 | 自动评估系统性能的方法和装置 |
CN110471857A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 人工智能模型性能容量的自动测试方法及装置 |
-
2020
- 2020-05-14 CN CN202010410261.6A patent/CN111581039A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649057A (zh) * | 2015-10-28 | 2017-05-10 | 北京国双科技有限公司 | 一种服务器压力测试的方法及装置 |
CN105740111A (zh) * | 2016-01-29 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种性能检测方法及装置 |
CN109426593A (zh) * | 2017-08-24 | 2019-03-05 | 北京京东尚科信息技术有限公司 | 自动评估系统性能的方法和装置 |
CN110471857A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 人工智能模型性能容量的自动测试方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540902A (zh) * | 2020-12-03 | 2021-03-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种片上系统性能检验方法、装置、设备及可读存储介质 |
CN112540902B (zh) * | 2020-12-03 | 2023-03-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种片上系统性能检验方法、装置、设备及可读存储介质 |
CN113342589A (zh) * | 2021-08-05 | 2021-09-03 | 北京金堤科技有限公司 | 对服务器进行压力测试的方法和装置 |
CN113342589B (zh) * | 2021-08-05 | 2021-09-28 | 北京金堤科技有限公司 | 对服务器进行压力测试的方法和装置 |
CN117033153A (zh) * | 2023-08-14 | 2023-11-10 | 北京达美盛软件股份有限公司 | 一种基于Python的自动化测试方法及系统 |
CN117033153B (zh) * | 2023-08-14 | 2024-05-07 | 北京达美盛软件股份有限公司 | 一种基于Python的自动化测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581039A (zh) | 系统性能的测试方法、装置、设备及存储介质 | |
CN110175110B (zh) | 压力测试方法、装置、系统、设备及计算机可读存储介质 | |
US8494806B2 (en) | Method, program and apparatus for optimizing configuration parameter set of system | |
CN109901881B (zh) | 应用程序的插件加载方法、装置、计算机设备及存储介质 | |
CN107943579B (zh) | 资源瓶颈预测方法、设备、系统及可读存储介质 | |
CN107608893B (zh) | 一种压力测试调度方法、装置、调度服务器及计算设备 | |
CN109144846B (zh) | 用于测试服务器的测试方法和装置 | |
CN113419941A (zh) | 评估方法及装置、电子设备和计算机可读存储介质 | |
CN111625469A (zh) | 压力测试方法、装置、设备及计算机可读存储介质 | |
CN111782516A (zh) | 一种代码测试方法及装置、存储介质 | |
CN113590007A (zh) | 进度条的生成方法、生成装置、计算机设备及存储介质 | |
CN112596820A (zh) | 一种资源加载方法、装置、设备以及存储介质 | |
CN112333246A (zh) | 一种ABtest实验方法、装置、智能终端及存储介质 | |
CN113946412A (zh) | 调度搜索方法和装置、云服务提供方法、电子设备以及计算机可读存储介质 | |
CN115037665B (zh) | 设备测试方法和装置 | |
CN116360989A (zh) | 计算引擎作业的执行处理方法、装置、电子设备及介质 | |
CN110377408A (zh) | 一种应用程序的启动方法、装置、终端及介质 | |
CN110553350A (zh) | 空调器的控制方法、空调器及储存介质 | |
JP5967091B2 (ja) | システムパラメータ設定支援システム、システムパラメータ設定支援装置のデータ処理方法、およびプログラム | |
CN114168439A (zh) | 一种集群内服务的压测控制方法、装置、存储介质及终端 | |
CN115048107A (zh) | 代码编译方法、系统、电子设备及存储介质 | |
CN113742187A (zh) | 应用系统的容量预测方法、装置、设备及存储介质 | |
CN112765019A (zh) | 压测方法、装置、存储介质及电子设备 | |
CN110081095B (zh) | 整车电磁阀匹配应用方法、装置、设备及存储介质 | |
CN110716830B (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 |