CN111581039B - ***性能的测试方法、装置、设备及存储介质 - Google Patents
***性能的测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111581039B CN111581039B CN202010410261.6A CN202010410261A CN111581039B CN 111581039 B CN111581039 B CN 111581039B CN 202010410261 A CN202010410261 A CN 202010410261A CN 111581039 B CN111581039 B CN 111581039B
- Authority
- CN
- China
- Prior art keywords
- target
- stage
- tps
- system throughput
- con
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 268
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000011056 performance test Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000010998 test method Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 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 2
- 101150077059 TPS1 gene Proteins 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000003102 growth factor Substances 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
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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 (7)
1.一种***性能的测试方法,其特征在于,应用于测试设备,所述***性能的测试方法包括一个以上的测试阶段,针对任一所述测试阶段,执行步骤包括:
获取当前测试阶段对应的第一目标并发数,并根据所述第一目标并发数控制目标***对测试数据在预设运行时间内进行多次阶段测试;以及,基于所述目标***在所述当前测试阶段中的运行时间以及处理请求数以及预设的吞吐量计算公式,计算所述目标***在所述当前测试阶段中的第一***吞吐量,所述第一***吞吐量为在所述预设运行时间内多次测试得到的计算结果的中间值;
当所述第一***吞吐量不符合预设的拐点条件,获取预存的所述当前测试阶段的上一个测试阶段的第二***吞吐量、所述第一***吞吐量、预存的所述上一个测试阶段的第二目标并发数以及所述第一目标并发数;以及,根据预设的并发数计算公式、所述第二***吞吐量、所述第一***吞吐量、所述第二目标并发数以及所述第一目标并发数,计算下一个测试阶段的第三目标并发数,以根据所述第三目标并发数进行下一个阶段测试,并得到下一个阶段的第三***吞吐量,所述第三***吞吐量为在所述预设运行时间内多次测试得到的计算结果的中间值;其中,所述并发数计算公式为:
Conn = Conn-1 +k* Tpsn-1 *( Conn-1- Conn-2)/ ( Tpsn-1- Tpsn-2),其中, n不小于2,Conn为下一个测试阶段的所述第三目标并发数,Conn-1为所述第一目标并发数,Conn-2为所述第二目标并发数,其中,Tpsn-2为对应于Conn-2的第二***吞吐量,Tpsn-1为对应于Conn-1的第一***吞吐量,k为常数,其中Tpsn-1和Tpsn-2为实测***吞吐量,其中所述并发数计算公式由所述第一目标并发数、所述第二目标并发数、所述第三目标并发数以及对应的所述第一***吞吐量、所述第二***吞吐量、所述第三***吞吐量的比例关系等式变形得到,所述比例关系等式为:(Tpsn-Tpsn-1)/( Conn- Conn-1)=( Tpsn-1- Tpsn-2)/( Conn-1- Conn-2),其中,Tpsn为对应于Conn的预测***吞吐量,所述比例关系等式中的Tpsn根据Tpsn-1代换,令Tpsn= Tpsn-1+k Tpsn-1得到所述并发数计算公式;
判断所述下一个测试阶段的所述第三目标并发数是否大于预设的最大并发数;若所述下一个测试阶段的所述第三目标并发数大于所述最大并发数,则生成并发数异常的提醒信息,显示所述提醒信息并终止所述目标***的性能测试。
2.如权利要求1中所述的***性能的测试方法,其特征在于,所述基于所述目标***在所述当前测试阶段中的运行时间以及处理请求数以及预设的吞吐量计算公式,计算所述目标***在所述当前测试阶段中的第一***吞吐量的步骤具体包括:
基于所述吞吐量计算公式、所述目标***在所述当前测试阶段中的运行时间以及处理请求数,计算所述目标***的第一***吞吐量,其中,所述吞吐量计算公式为:
Tpsn-1=RNumn-1/Trun n-1,其中,Tpsn-1为第n-1测试阶段的实测***吞吐量,RNumn-1为第n-1测试阶段发送的请求数,Trun n-1为第n-1测试阶段的预设运行时间。
3.如权利要求1所述的***性能的测试方法,其特征在于,所述预设的拐点条件为所述第一***吞吐量小于所述上一个测试阶段的第二***吞吐量,所述方法还包括:
当检测到所述第一***吞吐量符合所述拐点条件,则获取预存的所述当前测试阶段的上一个测试阶段的所述第二***吞吐量,确定所述第二***吞吐量为所述目标***的最大拐点,完成所述目标***的性能测试。
4.如权利要求3所述的***性能的测试方法,其特征在于,所述检测所述第一***吞吐量与预设的拐点条件的关系步骤之后,还包括:
若所述第一***吞吐量不符合所述拐点条件,且不小于所述上一个测试阶段的所述第二***吞吐量,则判断所述目标***是否存在连续预设个数相等的***吞吐量;
若所述目标***存在连续预设个数相等的所述***吞吐量,则确定所述连续预设个数相等的所述***吞吐量为所述目标***的最大拐点,完成所述目标***的性能测试。
5.一种***性能的测试装置,其特征在于,所述***性能的测试装置包括:
***阶段测试模块,用于获取当前测试阶段对应的第一目标并发数,并根据所述第一目标并发数控制目标***对测试数据在预设运行时间内进行多次阶段测试;以及,基于所述目标***在所述当前测试阶段中的运行时间以及处理请求数以及预设的吞吐量计算公式,计算所述目标***在所述当前测试阶段中的第一***吞吐量,所述第一***吞吐量为在所述预设运行时间内多次测试得到的计算结果的中间值;
***拐点确定模块,用于当所述第一***吞吐量不符合预设的拐点条件,获取预存的所述当前测试阶段的上一个测试阶段的第二***吞吐量、所述第一***吞吐量、预存的所述上一个测试阶段的第二目标并发数以及所述第一目标并发数;以及,根据预设的并发数计算公式、所述第二***吞吐量、所述第一***吞吐量、所述第二目标并发数以及所述第一目标并发数,计算下一个测试阶段的第三目标并发数,以根据所述第三目标并发数进行下一个阶段测试,并得到下一个阶段的第三***吞吐量,所述第三***吞吐量为在所述预设运行时间内多次测试得到的计算结果的中间值;其中,所述并发数计算公式为:
Conn = Conn-1 +k* Tpsn-1 *( Conn-1- Conn-2)/ ( Tpsn-1- Tpsn-2),其中, n不小于2,Conn为下一个测试阶段的目标并发数,Conn-1为所述第一目标并发数,Conn-2为所述第二目标并发数,其中Tpsn-1和Tpsn-2为实测***吞吐量,其中,Tpsn-2为对应于Conn-2的第二***吞吐量,Tpsn-1为对应于Conn-1的第一***吞吐量,k为常数,其中所述并发数计算公式由所述第一目标并发数、所述第二目标并发数、所述第三目标并发数以及对应的所述第一***吞吐量、所述第二***吞吐量、所述第三***吞吐量的比例关系等式变形得到,所述比例关系等式为:(Tpsn- Tpsn-1)/( Conn- Conn-1)=( Tpsn-1- Tpsn-2)/( Conn-1- Conn-2),其中,Tpsn为对应于Conn的预测***吞吐量,所述比例关系等式中的Tpsn根据Tpsn-1代换,令Tpsn=Tpsn-1+k Tpsn-1得到所述并发数计算公式;
判断模块,用于判断所述下一个测试阶段的所述第三目标并发数是否大于预设的最大并发数;若所述下一个测试阶段的所述第三目标并发数大于所述最大并发数,则生成并发数异常的提醒信息,显示所述提醒信息并终止所述目标***的性能测试。
6.一种***性能的测试设备,其特征在于,所述***性能的测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的***性能的测试程序,所述***性能的测试程序被所述处理器执行时实现如权利要求1至4中任一项所述的***性能的测试方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有***性能的测试程序,所述***性能的测试程序被处理器执行时实现如权利要求1至4中任一项所述的***性能的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410261.6A CN111581039B (zh) | 2020-05-14 | 2020-05-14 | ***性能的测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010410261.6A CN111581039B (zh) | 2020-05-14 | 2020-05-14 | ***性能的测试方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581039A CN111581039A (zh) | 2020-08-25 |
CN111581039B true CN111581039B (zh) | 2024-06-14 |
Family
ID=72110884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010410261.6A Active CN111581039B (zh) | 2020-05-14 | 2020-05-14 | ***性能的测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581039B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540902B (zh) * | 2020-12-03 | 2023-03-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种片上***性能检验方法、装置、设备及可读存储介质 |
CN113342589B (zh) * | 2021-08-05 | 2021-09-28 | 北京金堤科技有限公司 | 对服务器进行压力测试的方法和装置 |
CN117033153B (zh) * | 2023-08-14 | 2024-05-07 | 北京达美盛软件股份有限公司 | 一种基于Python的自动化测试方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740111A (zh) * | 2016-01-29 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种性能检测方法及装置 |
CN109426593A (zh) * | 2017-08-24 | 2019-03-05 | 北京京东尚科信息技术有限公司 | 自动评估***性能的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649057A (zh) * | 2015-10-28 | 2017-05-10 | 北京国双科技有限公司 | 一种服务器压力测试的方法及装置 |
CN107329881B (zh) * | 2017-06-02 | 2021-12-03 | 腾讯科技(深圳)有限公司 | 应用***性能测试方法及装置、计算机设备及存储介质 |
CN110321270A (zh) * | 2018-03-29 | 2019-10-11 | 广东神马搜索科技有限公司 | 单机性能测试方法、装置及服务器 |
CN110471857B (zh) * | 2019-08-22 | 2023-07-25 | 中国工商银行股份有限公司 | 人工智能模型性能容量的自动测试方法及装置 |
-
2020
- 2020-05-14 CN CN202010410261.6A patent/CN111581039B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740111A (zh) * | 2016-01-29 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种性能检测方法及装置 |
CN109426593A (zh) * | 2017-08-24 | 2019-03-05 | 北京京东尚科信息技术有限公司 | 自动评估***性能的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111581039A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581039B (zh) | ***性能的测试方法、装置、设备及存储介质 | |
US8875150B2 (en) | Monitoring real-time computing resources for predicted resource deficiency | |
US8112644B2 (en) | Dynamic voltage scaling scheduling mechanism for sporadic, hard real-time tasks with resource sharing | |
CN111026553B (zh) | 离线混部作业的资源调度方法及服务器*** | |
JP7448823B2 (ja) | 評価装置及び評価プログラム | |
US20090235274A1 (en) | Apparatus and method for task count control | |
CN115034519A (zh) | 一种用电负荷的预测方法、装置、电子设备以及存储介质 | |
CN110380982B (zh) | 一种流量控制方法及相关装置 | |
JP4646649B2 (ja) | 通信サーバ設定値決定装置,そのプログラム及びその方法 | |
CN111130933B (zh) | 页面流量的预估方法、装置及计算机可读存储介质 | |
CN110784478B (zh) | 超时时长的调整方法、装置、设备及计算机可读存储介质 | |
CN113742187A (zh) | 应用***的容量预测方法、装置、设备及存储介质 | |
CN110348916B (zh) | 用户留存度计算方法及装置 | |
JPWO2013018376A1 (ja) | システムパラメータ設定支援システム、システムパラメータ設定支援装置のデータ処理方法、およびプログラム | |
JP3915672B2 (ja) | リアルタイムタスク制御装置 | |
JP2005339465A (ja) | サーバ | |
CN110795255A (zh) | 数据批量值调整方法、装置、可读存储介质和设备 | |
JPH09311795A (ja) | スケジュール方法 | |
CN110716830B (zh) | 一种压测机选择方法、装置、电子设备及存储介质 | |
JP2009140358A (ja) | 性能演算装置および性能演算処理プログラム | |
CN117576945B (zh) | 停车场停车任务调度控制方法、装置、设备及存储介质 | |
CN118427104A (zh) | 一种基于分布式发压机集群的压力测试方法和*** | |
CN110781040B (zh) | ***性能自动测试方法、装置及计算机可读存储介质 | |
WO2024122049A1 (ja) | プロジェクトの進捗予測方法、進捗予測装置、及び進捗予測プログラム | |
EP4231155A1 (en) | Performance testing method and apparatus, electronic device, and storage medium |
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 |