CN115454847A - 一种压力测试方法、装置、电子设备及存储介质 - Google Patents

一种压力测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115454847A
CN115454847A CN202211111747.5A CN202211111747A CN115454847A CN 115454847 A CN115454847 A CN 115454847A CN 202211111747 A CN202211111747 A CN 202211111747A CN 115454847 A CN115454847 A CN 115454847A
Authority
CN
China
Prior art keywords
data
processing
pressure measurement
processed
time
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
Application number
CN202211111747.5A
Other languages
English (en)
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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information 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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202211111747.5A priority Critical patent/CN115454847A/zh
Publication of CN115454847A publication Critical patent/CN115454847A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

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)
  • Measuring Fluid Pressure (AREA)

Abstract

本发明实施例公开了一种压力测试方法、装置、电子设备及存储介质。该方法可包括:响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被压测对象处理的压测数据的第一积压数据量;根据各第一积压数据量和各预设处理时间确定目标处理时间、及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据目标处理时间和已处理数据量确定压测对象的数据处理速率;预测待被压测对象处理的待处理数据的待处理数据量,并根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。本发明实施例的技术方案,可基于较低成本自动化实现高准确度的压力测试过程。

Description

一种压力测试方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及压力测试技术领域,尤其涉及一种压力测试方法、装置、电子设备及存储介质。
背景技术
电子商务领域中涉及的某些应用程序,在某些特殊时段需处理大量数据,那么在该特殊时段来临前对该应用程序进行压力测试,这是保证该应用程序在该特殊时段能够正常运行的重要手段。目前是人工实现上述压力测试过程。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:压力测试的成本较高并且准确度难以保证。
发明内容
本发明实施例提供了一种压力测试方法、装置、电子设备及存储介质,以基于较低成本实现高准确度的压力测试过程。
根据本发明的一方面,提供了一种压力测试方法,可以包括:
响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被压测对象处理的压测数据的第一积压数据量;
根据各第一积压数据量和各预设处理时间确定目标处理时间、及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据目标处理时间和已处理数据量确定压测对象的数据处理速率;
预测待被压测对象处理的待处理数据的待处理数据量,并根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。
根据本发明的另一方面,提供了一种压力测试装置,可以包括:
第一积压数据量获取模块,用于响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被压测对象处理的压测数据的第一积压数据量;
数据处理速率确定模块,用于根据各第一积压数据量以及各预设处理时间确定目标处理时间及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据目标处理时间和已处理数据量确定压测对象的数据处理速率;
压力测试结果得到模块,用于预测出待被压测对象处理的待处理数据的待处理数据量,并根据待处理数据量、数据处理速率、及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。
根据本发明的另一方面,提供了一种电子设备,可以包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器执行时实现本发明任意实施例所提供的压力测试方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令用于使处理器执行时实现本发明任意实施例所提供的压力测试方法。
本发明实施例中的技术方案,通过响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被压测对象处理的压测数据的第一积压数据量;根据各第一积压数据量和各预设处理时间确定目标处理时间、及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据处理时间以及已处理数据量确定压测对象的数据处理速率,其亦可以反映出压测对象在其余时间处理其余数据时的快慢;进而,预测待被压测对象处理的待处理数据的待处理数据量,并根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果,其可表示出压测对象在处理待处理数据时是否可能出现无法被接受的延迟情况。上述技术方案,通过全自动化方式完成了压测对象的压力测试过程,由此达到了降低压力测试的成本并且保证压力测试的准确性的效果。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或是重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种压力测试方法的流程图;
图2是根据本发明实施例提供的一种压力测试方法中配置页面的示意图;
图3是根据本发明实施例提供的另一种压力测试方法的流程图;
图4是根据本发明实施例提供的另一种压力测试方法中梯度下降的示意图;
图5是根据本发明实施例提供的另一种压力测试方法中压测图形的示意图;
图6是根据本发明实施例提供的另一种压力测试方法的流程图;
图7是根据本发明实施例提供的另一种压力测试方法中可选示例的结构图;
图8是根据本发明实施例提供的另一种压力测试方法中可选示例的示意图;
图9是根据本发明实施例提供的一种压力测试装置的结构框图;
图10是实现本发明实施例的压力测试方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。“目标”、“原始”等的情况类似,在此不再赘述。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本发明实施例中所提供的一种压力测试方法的流程图。本实施例可适用于基于自动化方式实现压力测试的情况。该方法可以由本发明实施例提供的压力测试装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在电子设备上,该电子设备可以是各种用户终端或是服务器。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、响应于压力测试指令,获取压测对象在处理压测数据过程中的各个预设处理时间上未被压测对象处理的压测数据的第一积压数据量。
其中,压力测试指令可以是用于基于压测数据对压测对象进行压力测试的指令,该压测对象可以是待进行压力测试的对象,具体来说可以是应用程序、服务器或是系统等;该压测数据可以是任意类型的数据,如消息队列(Message Queue,MQ)消息、消费记录或是运动轨迹等,这与该压测对象的可实现功能(即可处理什么类型的数据)有关,在此未做具体限定。
响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被压测对象处理的压测数据的第一积压数据量,该预设处理时间可以是预先设置的压测对象在处理压测数据过程中的某个时间,其可以是时间点或是时间段的概念,在此未做具体限定;该第一积压数据量可以是在该预设处理时间上还未被压测对象处理的压测数据的数量,即其可以表示目前积压了多少的压测数据待被压测对象处理。需要说明的是,上述第一积压数据量可以是在各预设处理时间上实时获取,即在压测对象处理压测数据过程中定时定点获取;也可以是在压测对象处理完成全部或大部分的压测数据后获取,如从记录有各预设处理时间上的第一积压数据量的目标平台上获取;等,在此未做具体限定。
S120、根据各第一积压数据量和各预设处理时间确定目标处理时间、以及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据目标处理时间和已处理数据量确定压测对象的数据处理速率。
其中,根据各预设处理时间以及每个预设处理时间上的第一积压数据量,确定目标处理时间和已处理数据量。该目标处理时间可以表示出压测对象处理这些压测数据的时间段,具体来说可以是全局处理时间,即压测对象处理全部压测数据的时间段;也可以是局部处理时间,如压测对象快速处理压测数据的时间段;等等,在此未做具体限定。该已处理数据量可以表示压测对象在目标处理时间内处理的压测数据的数量,即压测对象在目标处理时间内处理了多少的压测数据。进一步,根据目标处理时间和已处理数据量确定压测对象的数据处理速率,即确定压测对象在目标处理时间内以什么样的速率处理压测数据,其亦可以反映出压测对象在其余时间内处理其余数据时的快慢。
S130、预测待被压测对象处理的待处理数据的待处理数据量,根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。
其中,待处理数据量可以是预测得到的待被压测对象处理的待处理数据的数量,具体来说可以是待被压测对象在未来时间段内处理的待处理数据的数量,结合到本发明实施例可能涉及的应用场景,该未来时间段可以是未来的某大促时间段。可接受延迟时间可以表示关联对象最多可接受压测对象延迟多长时间来处理某数据,该关联对象可以是该压测对象的使用者、开发者或是投资者等,在此未做具体限定。进而,可以根据待处理数据量、数据处理速率以及可接受延迟时间得到压测对象的压力测试结果,该压力测试结果可以表示出压测对象在处理待处理数据时,是否可能出现让关联对象无法接受的延迟情况。
需要说明的是,压测数据和待处理数据的本质相同,如二者都是MQ消息或是运动轨迹,这里只是为了区分是进行压力测试时处理的数据还是常规运行时处理的数据而进行的不同命名,并非是对其实质含义的具体限定。
本发明实施例中的技术方案,通过响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被压测对象处理的压测数据的第一积压数据量;根据各第一积压数据量和各预设处理时间确定目标处理时间、及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据处理时间以及已处理数据量确定压测对象的数据处理速率,其亦可以反映出压测对象在其余时间处理其余数据时的快慢;进而,预测待被压测对象处理的待处理数据的待处理数据量,并根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果,其可表示出压测对象在处理待处理数据时是否可能出现无法被接受的延迟情况。上述技术方案,通过全自动化方式完成了压测对象的压力测试过程,由此达到了降低压力测试的成本并且保证压力测试的准确性的效果。
在此基础上,一种可选的技术方案,压测数据可包括用于进行压力测试的MQ消息,获取压测对象在处理压测数据过程中的各预设处理时间上未被压测对象处理的压测数据的第一积压数据量,包括:获取压测对象在处理MQ消息过程中的各预设处理时间上,未被压测对象处理的主题相同的MQ消息的第一积压数据量;相应的,确定目标处理时间、以及压测对象在目标处理时间内处理的压测数据的已处理数据量,可包括:确定目标处理时间、以及压测对象在目标处理时间内处理的主题相同的MQ消息的已处理数据量。
其中,主题(topic)可以是MQ中用于进行MQ消息存储的存储单元,被压测对象消费的这些MQ消息各自对应的主题可能相同或不同。需要说明的是,不同主题下的MQ消息是由各自的消费者分别来消费,消费者和主题具有一一对应关系,不同的消费者对于MQ消息的消费速率可能存在差异。因此,为了得到更具有针对性的压力测试结果,即分别针对于各消费者的压力测试结果,可以以主题为单位进行压力测试。具体的,将压测对象涉及的不同主题下的MQ消息均传输给压测对象,然后由压测对象的各消费者分别消费相应的MQ消息。进而,针对于每个主题,获取该主题下的MQ消息的第一积压数据量,然后均以该主题和该第一积压数据量为单位执行其余步骤,由此得到的压力测试结果可以反映出与该主题对应的消费者的压力测试结果,针对性更强。结合本发明实施例可能涉及到的应用场景,可选的,上述主题可以是运单或是包裹等。再可选的,各主题下的MQ消息的第一积压数据量可以通过如下步骤获取:定时定点通过http请求来从目标平台上轮询查询各主题下的第一积压数据量,由此可以依次获取到各主题下的第一积压数据量。
另一种可选的技术方案,在响应于压力测试指令之后,上述压力测试方法,还可包括:获取压测配置信息,并根据压测配置信息确定压测启动方式;如果压测启动方式是第一启动方式,则控制压测对象停机,并在从压测对象停机开始的预设时间间隔后控制压测对象重启,以使压测对象对停机过程中接收到的压测数据进行处理;和/或,如果压测启动方式是第二启动方式,则将已往时间段内已被压测对象处理过的被处理数据作为压测数据,以使压测对象重复处理压测数据。
其中,压测配置信息可以是为实现压测对象的压力测试而预先配置的信息,如可以表示压测对象、压测启动方式、消费者(或是说消费者标识,clientid)以及主题等的信息。进而,根据压测配置信息确定压测启动方式,该压测启动方式可以表示基于何种方式启动压力测试,具体来说可以是基于何种方式获取到压测数据,以便基于这些压测数据实现压测对象的压力测试过程。实际应用中,可选的,上述压测配置信息可以预先通过配置页面进行格式化录入,示例性的,配置人员可以通过图2所示的配置页面录入压测对象、压测启动方式、消费者标识和主题等压测配置信息。在配置人员在配置完成后,这些压测配置信息可以被存储到数据库中,由此压力测试装置响应于压力测试指令时,可以从该数据库中获取这些压测配置信息,从而确定基于什么样的压测启动方式对什么样的压测对象下的什么主题(或是说消费者标识)下的MQ消息进行消费,从而来实现该压测对象的压力测试过程。
第一启动方式是压测启动方式的一种,其还可被称为憋单启动方式,实质含义是控制压测对象停止处理生产者生产的生产数据,从而将停止处理这段时间内的生产数据积压为压测数据以进行集中处理,由此来实现压力测试。因此,当压测启动方式是第一启动方式时,可以控制压测对象停机(即停止运行),并在从压测对象停机开始的预设时间间隔后控制压测对象重启,以使压测对象对停机过程中接收到的压测数据进行处理,从而开启压力测试过程。
第二启动方式也是压测启动方式的一种,其还可被称为重置位点启动方式,实质含义是通过控制压测对象集中处理大量已被处理过的数据(即被处理数据)来实现压力测试。因此,当压测启动方式是第二启动方式时,将已往时间段(即已经历过的时间段)内已被压测对象处理过的被处理数据作为压测数据,以使压测对象重复处理这些压测数据,从而开启压力测试过程。
图3是本发明实施例中提供的另一种压力测试方法的流程图。本实施例以上述各技术方案为基础进行优化。本实施例中,可选的,根据各第一积压数据量和各预设处理时间确定目标处理时间、以及压测对象在目标处理时间内处理的压测数据的已处理数据量,可包括:获取压测对象在处理压测数据时的处理开始时间;确定压测对象在未进行压力测试时的第二积压数据量,将与小于或等于第二积压数据量的第一积压数据量对应的预设处理时间作为处理结束时间;根据处理开始时间和处理结束时间确定目标处理时间;根据处理开始时间对应的预设处理时间上的第一积压数据量、及处理结束时间上的第一积压数据量,得到压测对象在目标处理时间内处理的压测数据的已处理数据量。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例的方法具体可以包括如下步骤:
S210、响应于压力测试指令,获取压测对象在处理压测数据过程中的各个预设处理时间上未被压测对象处理的压测数据的第一积压数据量。
S220、获取压测对象在处理压测数据时的处理开始时间。
其中,处理开始时间可以是压测对象开始处理压测数据的时间,其可以是开始处理首个压测数据、开始高速处理压测数据或低速处理压测数据的时间等,在此未做具体限定。
S230、确定压测对象在未进行压力测试时的第二积压数据量,将与小于或等于第二积压数据量的第一积压数据量对应的预设处理时间作为处理结束时间。
其中,第二积压数据量可以是压测对象在未进行压力测试即日常数据处理过程中未被压测对象处理的未处理数据的数量,具体来说可以是日常数据处理过程中单位时间内的未被压测对象处理的未处理数据的数量,该单位时间可以根据实际情况进行设定,如1分钟、3分钟或5分钟等。由于压测对象的上游对象在持续生产,这意味着压测对象很难处理完上游对象生产的全部生产数据,即随着时间推移,第一积压数据量通常持续下降,但其很难下降到0位。因此,为了准确确定处理结束时间,可以对比第一积压数据量和第二积压数据量,当得到小于或等于第二积压数据量的第一积压数据量时,这说明此时未处理数据的数量基本与日常情况下持平,那么此时可以认为压力测试结束,并将该第一积压数据量对应的预设处理时间作为处理结束时间。结合到本发明实施例可能涉及的应用场景,该处理结束时间可以理解为全局处理结束时间,即全部压测数据均被处理完成的时间;也可以理解为局部处理结束时间,如高速处理结束压测数据的时间;等等,在此未做具体限定。
为了更加形象化地理解上述处理结束时间,下面换个思路进行阐述。正如上文所述,随着时间推移,第一积压数据量通常会持续下降,即这些第一积压数据量的变化过程可以理解为从最大的第一积压数据量(即波峰)下降到小于或是等于第二积压数据量的第一积压数据量(即波谷)的过程,这就好比如图4所示的梯度下降过程,因此处理结束时间也可以理解为是基于梯度下降思想计算得到的。
S240、根据处理开始时间和处理结束时间确定目标处理时间。
其中,可以将处理开始时间作为起点并且将处理结束时间作为终点,得到目标处理时间。至此,可以得到处理开始时间(如全局处理开始时间或是高速处理开始时间)、处理结束时间(全局处理结束时间或是高速处理结束时间,在实际应用中,可选的,这两个处理结束时间可以是一致的)、目标处理时间(如全局处理时间或是高速处理时间)、与处理开始时间对应的预设处理时间上的第一积压数据量、以及处理结束时间上的第一积压数据量。
S250、根据与处理开始时间对应的预设处理时间上的第一积压数据量、以及处理结束时间上的第一积压数据量,得到压测对象在目标处理时间内处理的压测数据的已处理数据量。
其中,根据上述两个第一积压数据量可以得到压测对象在目标处理时间内处理的压测数据的已处理数据量,如将与处理开始时间对应的预设处理时间上的第一积压数据量-处理结束时间上的第一积压数据量作为已处理数据量。
S260、根据目标处理时间和已处理数据量确定压测对象的数据处理速率。
S270、预测待被压测对象处理的待处理数据的待处理数据量,根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。
本发明实施例的技术方案,可以精准得到目标处理时间和已处理数据量,这是准确确定数据处理速率的关键所在。
一种可选的技术方案,获取压测对象在处理压测数据时的处理开始时间,可包括:获取压测对象在处理压测数据时的全局处理开始时间,并将全局处理开始时间作为处理开始时间;和/或,针对各第一积压数据量中在预设处理时间上相邻的第三积压数据量和第四积压数据量,根据第三积压数据量以及第四积压数据量确定斜率,并与各斜率中数值最大的斜率对应的第三积压数据量或是第四积压数据量所在的预设处理时间作为局部处理开始时间,将局部处理开始时间作为处理开始时间。
其中,全局处理开始时间可以是压测对象开始集中处理压测数据的时间,其还可被称为整体处理开始时间。结合本发明实施例可能涉及的应用场景,当压测启动方式是憋单启动方式时,该全局处理开始时间可以是应用对象被重启时的时间;当压测启动方式是重置位点启动方式时,该全局处理开始时间可以是应用对象获取到全部压测数据时的时间。
在全局处理时间(这是根据全局处理开始时间和全局处理结束时间确定的目标处理时间)内,压测对象并非是以同一数据处理速率来处理压测数据的(在上文中得到的数据处理速率也是一个平均速率的概念),其中的用于表示高速处理时间的局部处理时间在实际应用中也很重要,因此如何确定用于表示高速处理开始时间的局部处理开始时间至关重要。由于数据处理速率可通过在预设处理时间上相邻的两个第一积压数据量(即第三积压数据量和第四积压数据量)间的差值进行表示,该差值可以表示出压测对象在由这两个预设处理时间构成的预设时间间隔内处理了多少的压测数据,或是说根据该差值确定的斜率进行表示,那么可以从各斜率中确定数值最大的斜率,该数值最大的斜率可以表示出数据处理速率的转折点,因此可以将该数值最大的斜率对应的第三积压数据量或是第四积压数据量所在的预设处理时间作为局部处理开始时间。
为了更加形象化地理解上述技术方案,下面换个思路进行阐述。各个预设处理时间上的第一积压数据量可以理解为一段时间内的数据点,结合线性回归分析来拟合这些数据点,示例性的,可以得到如图5所示的拟合结果,从图中可知,由于下面的夹角大于上面的夹角,而夹角与斜率成正比,这说明直线BC的斜率大于直线AB的斜率,因此A所在的预设处理时间可以理解为全局处理开始时间,B所在的预设处理时间可以理解为高速处理开始时间,且C所在的预设处理时间可以理解为全局处理结束时间,亦是高速处理结束时间。这里的高速亦可称为高峰,处理高峰阶段。需要说明的是,一方面,图5中只给出了几个预设处理时间,实际应用中的预设处理时间可以更多,即每3分钟一个;另一方面,实际应用中的大促时间段内的各第一积压数据量无线接近于图5中展示出的压测图形,因此确定高速处理时间和全局处理时间均是非常有意义的。
在此基础上,可选的,上述压力测试方法,还可包括:获取候选加速策略以及参考因素,根据参考因素从各候选加速策略中确定目标加速策略,并展示目标加速策略;其中,候选加速策略包括预先设置的用于加快数据处理速率的策略,参考因素包括各斜率、处理开始时间、处理结束时间、处理开始时间对应的预设处理时间上的第一积压数据量、及处理结束时间上的第一积压数据量中的至少一个。其中,候选加速策略可以是预先设置的用于加快数据处理速率的策略,即可以让压测对象更快处理数据的策略。根据参考因素可以从各候选加速策略中确定与压测对象当前的数据处理情况最为匹配的目标加速策略,并展示该目标加速策略,由此达到了智能推荐目标加速策略的效果。示例性的,当根据参考因素确定处理过程是前期的数据处理速率变化平缓(或是说几乎无变化)而后期的数据处理速率极速加快时,这类情况主要是由于处理过程可能有一些本地缓存,可以通过调整本地缓存大小以及缓存方式增加数据处理速率;再示例性的,如果根据参考因素确定处理过程没有明显缓慢处理阶段(即一直处于高速处理阶段)或是始终无法到达波谷(即始终未得到小于或是等于第二积压数据量的第一积压数据量),则均可以给出相应的目标加速策略。
另一可选的技术方案,确定压测对象在未进行压力测试时的第二积压数据量,可以包括:获取历史生产数据量、及压测对象在未进行压力测试的历史时间段内的历史处理数据量,其中,历史生产数据量是由压测对象的上游对象在历史时间段内生产的需被压测对象处理的生产数据的数量;根据历史生产数据量和历史处理数据量确定压测对象在未进行压力测试时的第二积压数据量。其中,由于上游对象并非是以同一数据生产速率进行数据生产,并且压测对象在未进行压力测试即日常数据处理过程也不是以同一数据处理速率进行数据处理,因此这里可以采用平均思想来得到第二积压数据量。具体的,获取上游对象在历史时间段内生产的需被压测对象处理的生产数据的历史生产数量、以及压测对象在历史时间段内的历史处理数据量(即其处理了多少的生产数据),根据这二者可以准确确定第二积压数据量。在此基础上,上述得到的第二积压数据量可以理解为是历史时间段内的积压数据量,如果第一积压数据量是某个单位时间内的积压数据量,这里还可以将该第二积压数据量转换为该单位时间内的积压数据量。示例性的,假设历史时间段时7天,单位时间是3分钟,则可以将上文中得到的第二积压数据量/7*24*20以得到该3分钟内的积压数据量。在实际应用中,可选的,上述历史时间段可以根据压测启动方式来确定,如压测启动方式是憋单启动方式时,则可以根据压测对象的停机时长确定历史时间段,如将历史时间段的历史时长设置为停机时长,从而得到历史时间段;再如压测启动方式是重置位点启动方式时,可以将已往时间段作为历史时间段;等等。
图6是本发明实施例中提供的另一种压力测试方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果,包括:根据数据处理速率确定压测对象为处理完成待处理数据量的待处理数据而需要的所需处理时间;基于所需处理时间、及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图6,本实施例的方法具体可以包括如下步骤:
S310、响应于压力测试指令,获取压测对象在处理压测数据过程中的各个预设处理时间上未被压测对象处理的压测数据的第一积压数据量。
S320、根据各第一积压数据量和各预设处理时间确定目标处理时间、以及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据目标处理时间和已处理数据量确定压测对象的数据处理速率。
S330、根据数据处理速率确定压测对象为处理完成待处理数据量的待处理数据而需要的所需处理时间。
其中,所需处理时间可以是压测对象为处理完待处理数据量的待处理数据而需要花费的时间,其可以根据数据处理速率确定,如将待处理数据量和数据处理速率间的比值作为所需处理时间。需要说明的是,当数据处理速率是全局处理时间下的速率时,由此得到的所需处理时间可表示压测对象以全局的数据处理速率处理这些待处理数据时需要花费的时间;类似的,当数据处理速率是高速处理时间下的速率时,由此得到的所需处理时间可表示压测对象以高速的数据处理速率处理这些待处理数据时需要花费的时间。
S340、基于所需处理时间、及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。
其中,由于可接受延迟时间可以表示出关联对象最多可接受压测对象延迟多长时间来处理待处理数据,因此可以基于所需处理时间和可接受延迟时间来得到压力测试结果,具体来说可以是基于二者间的数值关系得到压力测试结果。在实际应用中,可选的,正如上个步骤所述,当数据处理速率的含义不同时,所需处理时间的含义也有所差别,因此这里的压力测试结果也可以是针对某种含义下的压力测试结果,针对性更强。
本发明实施例的技术方案,通过数据处理速率确定压测对象为处理完成待处理数据量的待处理数据而需要的所需处理时间,进而基于所需处理时间和可接受延迟时间得到压力测试结果,由此实现了压力测试结果的快速且准确确定的效果。
在此基础上,一种可选的技术方案,基于所需处理时间、及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果,可以包括:如果所需处理时间大于针对于压测对象在数据处理上预先设置的可接受延迟时间,则确定所需处理时间和可接受延迟时间之间的差值;根据差值确定风险等级,并根据风险等级确定压测对象的压力测试结果。其中,当所需处理时间大于可接受延迟时间时,这说明压测对象对于这些待处理数据的处理能力无法被关联对象接受,即压测对象在未来时间段(即需要处理这些待处理数据的时间段)内处理这些待处理数据是存在风险的。为了明确风险大小,可确定所需处理时间和可接受延迟时间间的差值,进而根据该差值确定风险等级。在实际应用中,可选的,什么样的差值对应于什么样的风险等级,这可以基于预先配置的风险计算公式得到。进而,可以根据风险等级得到更为细化的压力测试结果,这有助人相关人员给出更为针对性的优化方案。
在上述任一技术方案的基础上,可选的,待处理数据量包括待被压测对象在未来时间段内处理的待处理数据的数量,则预测待被压测对象处理的待处理数据的待处理数据量,可包括:确定过去生产数据量,其中,过去生产数据量是由压测对象的上游对象在过去时间段内生产的需被压测对象处理的生产数据的数量,过去时间段与未来时间段的时长相同;获取预设积压系数,并根据预设积压系数和过去生产数据量得到待被压测对象在未来时间段内处理的待处理数据的待处理数据量。其中,过去时间段可以认为是已经发生的日常时间段,未来时间段可以理解为还未发生的存在生产数据量激增这一情况的时间段,如未来的某大促时间段,这两个时间段的时长相同。由于根据以往经验可以确定未来时间段内的生产数据量(即未来生产数据量)通常是过去时间段内的几倍(即预设积压系数),因此可以根据该预设积压系数和过去生产数据量得到待处理数据量,由此保证了待处理数据量的准确确定的效果。
为了从整体上更好地理解上述各技术方案,考虑到本发明实施例可能涉及到的应用场景,下面结合具体示例对其进行示例性说明。示例性的,参见图7和图8,配置人员通过压测平台用户页面(user interface,UI)如配置页面操作压测平台后台(WEB)来进行压测配置信息的配置,并将配置结果存储到mysql数据库中。由此,在启动压力测试时,可以基于从mysql数据库中获取的压测配置信息进行压力测试,具体的压测启动方式可以是憋单启动方式或重置位点启动方式。在压力测试过程中,即压测对象消费积压下来的MQ消息过程中,可以从目标平台中获取各预设处理时间上的第一积压数据量,然后再结合斜率计算或压测图形拟合等方式得到波峰和波谷;在此基础上,可以计算得到高峰消费时间,即高峰消费MQ消息的时间段。进而,将在压力测试过程中得到的计算结果(比如全局消费开始时间、全局消费结束时间、高峰消费开始时间、高峰消费结束时间、各时间下的第一积压数据量、全局消费时间下的数据消费速率、高峰消费时间下的数据消费速率及风险等级等)存储到mysql数据库中,当然,这些计算结果是以主题为单位进行汇总的。由此,压测人员可基于压测平台UI提供的查看和导出功能得到这些计算结果,以得到压力测试结果。由上可知,上述技术方案提供了一种自动化的压力测试平台,由此实现了全自动化的压力测试过程,从而降低了压测成本并且保证了压测准确性。
图9为本发明实施例所提供的压力测试装置的结构框图,该装置用于执行上述任意实施例所提供的压力测试方法。该装置与上述各实施例的压力测试方法属于同一个发明构思,在压力测试装置的实施例中未详尽描述的细节内容,可以参考上述压力测试方法的实施例。参见图9,该装置具体可以包括:第一积压数据量获取模块410、数据处理速率确定模块420以及压力测试结果得到模块430。其中,
第一积压数据量获取模块410,用于响应于压力测试指令,获取压测对象在处理压测数据过程中的各个预设处理时间上未被压测对象处理的压测数据的第一积压数据量;
数据处理速率确定模块420,用于根据各第一积压数据量和各预设处理时间确定目标处理时间、及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据目标处理时间和已处理数据量确定压测对象的数据处理速率;
压力测试结果得到模块430,用于预测待被压测对象处理的待处理数据的待处理数据量,并根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。
可选的,数据处理速率确定模块420,可以包括:
处理开始时间获取单元,用于获取压测对象在处理压测数据时的处理开始时间;
处理结束时间确定单元,用于确定压测对象在未进行压力测试时的第二积压数据量,并将与小于或是等于第二积压数据量的第一积压数据量对应的预设处理时间作为处理结束时间;
目标处理时间确定单元,用于根据处理开始时间和处理结束时间确定目标处理时间;
已处理数据量得到单元,用于根据处理开始时间对应的预设处理时间上的第一积压数据量、及处理结束时间上的第一积压数据量,得到压测对象在目标处理时间内处理的压测数据的已处理数据量。
在此基础上,一可选的,处理开始时间获取单元,具体可以用于:
获取压测对象在处理压测数据时的全局处理开始时间,并将全局处理开始时间作为处理开始时间;
和/或,
针对各第一积压数据量中在预设处理时间上相邻的第三积压数据量和第四积压数据量,根据第三积压数据量以及第四积压数据量确定斜率,并与各斜率中数值最大的斜率对应的第三积压数据量或是第四积压数据量所在的预设处理时间作为局部处理开始时间,将局部处理开始时间作为处理开始时间。
可选的,在上述装置的基础上,该装置还可以包括:
目标加速策略展示模块,用于获取候选加速策略和参考因素,并根据参考因素从各候选加速策略中确定目标加速策略,并展示目标加速策略;
其中,候选加速策略是预先设置的用于加快数据处理速率的策略,参考因素包括各斜率、处理开始时间、处理结束时间、处理开始时间对应的预设处理时间上的第一积压数据量、及处理结束时间上的第一积压数据量中的至少一个。
另一可选的,处理结束时间确定单元,可以包括:
历史处理数据量获取子单元,用于获取历史生产数据量、及压测对象在未进行压力测试的历史时间段内的历史处理数据量,该历史生产数据量是由压测对象的上游对象在历史时间段内生产的需被压测对象处理的生产数据的数量;
第二积压数据量确定子单元,用于根据历史生产数据量和历史处理数据量确定压测对象在未进行压力测试时的第二积压数据量。
可选的,待处理数据量可包括待被压测对象在未来时间段内处理的待处理数据的数量,压力测试结果得到模块430,可以包括:
过去生产数据量确定单元,用于确定过去生产数据量,该过去生产数据量是由压测对象的上游对象在过去时间段内生产的需被压测对象处理的生产数据的数量,过去时间段与未来时间段的时长相同;
待处理数据量得到单元,用于获取预设积压系数,并根据预设积压系数和过去生产数据量得到待被压测对象在未来时间段内处理的待处理数据的待处理数据量。
可选的,压力测试结果得到模块430,可以包括:
所需处理时间确定单元,用于根据数据处理速率确定压测对象为处理完成待处理数据量的待处理数据而需要的所需处理时间;
压力测试结果得到单元,用于基于所需处理时间、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果。
在此基础上,可选的,压力测试结果得到单元,具体可以用于:
如果所需处理时间大于针对于压测对象在数据处理上预先设置的可接受延迟时间,则确定所需处理时间和可接受延迟时间之间的差值;
根据差值确定风险等级,并根据风险等级确定出压测对象的压力测试结果。
可选的,压测数据可包括用于进行压力测试的MQ消息,第一积压数据量获取模块410,可以包括:
第一积压数据量获取单元,用于获取压测对象在处理MQ消息过程中的各预设处理时间上,未被压测对象处理的主题相同的MQ消息的第一积压数据量;
相应的,数据处理速率确定模块420,可以包括:
已处理数据量确定单元,用于确定目标处理时间、以及压测对象在目标处理时间内处理的主题相同的MQ消息的已处理数据量。
可选的,上述压力测试装置,还可以包括:
压测启动方式确定模块,用于在响应于压力测试指令之后,获取压测配置信息,并根据压测配置信息确定压测启动方式;
第一压测启动模块,用于如果压测启动方式包括第一启动方式,则控制压测对象停机,并在从压测对象停机开始的预设时间间隔后控制压测对象重启,以使压测对象对停机过程中接收到的压测数据进行处理;
和/或,
第二压测启动模块,用于如果压测启动方式包括第二启动方式,则将已往时间段内已被压测对象处理过的被处理数据作为压测数据,以使压测对象重复处理压测数据。
本发明实施例提供的压力测试装置,通过第一积压数据量获取模块响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被压测对象处理的压测数据的第一积压数据量;通过数据处理速率确定模块根据各第一积压数据量和各预设处理时间确定目标处理时间、及压测对象在目标处理时间内处理的压测数据的已处理数据量,并根据处理时间以及已处理数据量确定压测对象的数据处理速率,其亦可以反映出压测对象在其余时间处理其余数据时的快慢;进而,通过压力测试结果得到模块预测待被压测对象处理的待处理数据的待处理数据量,并根据待处理数据量、数据处理速率、以及针对于压测对象在数据处理上预先设置的可接受延迟时间,得到压测对象的压力测试结果,其可以表示出压测对象在处理待处理数据时是否可能出现无法被接受的延迟情况。上述装置,可以通过全自动化方式完成压测对象的压力测试过程,由此达到了降低压力测试的成本并且保证压力测试的准确性的效果。
本发明实施例所提供的压力测试装置可执行本发明任意实施例所提供的压力测试方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述压力测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
图10示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图10所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如压力测试方法。
在一些实施例中,压力测试方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的压力测试方法的一个或多个步骤。备选地,在其他实施例中,处理器11可通过其他任何适当的方式(例如,借助于固件)而被配置为执行压力测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、以及至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、以及该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或是其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行并且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (13)

1.一种压力测试方法,其特征在于,包括:
响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被所述压测对象处理的所述压测数据的第一积压数据量;
根据各所述第一积压数据量和各所述预设处理时间确定目标处理时间、及所述压测对象在所述目标处理时间内处理的所述压测数据的已处理数据量,并根据所述目标处理时间和所述已处理数据量确定所述压测对象的数据处理速率;
预测待被所述压测对象处理的待处理数据的待处理数据量,并根据所述待处理数据量、所述数据处理速率、以及针对于所述压测对象在数据处理上预先设置的可接受延迟时间,得到所述压测对象的压力测试结果。
2.根据权利要求1所述的方法,其特征在于,根据各所述第一积压数据量和各所述预设处理时间确定目标处理时间、以及所述压测对象在所述目标处理时间内处理的所述压测数据的已处理数据量,包括:
获取所述压测对象在处理所述压测数据时的处理开始时间;
确定所述压测对象在未进行压力测试时的第二积压数据量,将与小于或是等于所述第二积压数据量的所述第一积压数据量对应的所述预设处理时间作为处理结束时间;
根据所述处理开始时间和所述处理结束时间确定目标处理时间;
根据所述处理开始时间对应的所述预设处理时间上的所述第一积压数据量、及所述处理结束时间上的所述第一积压数据量,得到所述压测对象在所述目标处理时间内处理的所述压测数据的已处理数据量。
3.根据权利要求2所述的方法,其特征在于,所述获取所述压测对象在处理所述压测数据时的处理开始时间,包括:
获取所述压测对象在处理所述压测数据时的全局处理开始时间,并将所述全局处理开始时间作为处理开始时间;
和/或,
针对各所述第一积压数据量中在所述预设处理时间上相邻的第三积压数据量和第四积压数据量,根据所述第三积压数据量以及所述第四积压数据量确定斜率,并与各所述斜率中数值最大的所述斜率对应的所述第三积压数据量或是所述第四积压数据量所在的所述预设处理时间作为局部处理开始时间,将所述局部处理开始时间作为处理开始时间。
4.根据权利要求3所述的方法,其特征在于,还包括:
获取候选加速策略和参考因素,根据所述参考因素从各所述候选加速策略中确定目标加速策略,并展示所述目标加速策略;
其中,所述候选加速策略是预先设置的用于加快所述数据处理速率的策略,所述参考因素包括各所述斜率、所述处理开始时间、所述处理结束时间、所述处理开始时间对应的所述预设处理时间上的所述第一积压数据量、及所述处理结束时间上的所述第一积压数据量中的至少一个。
5.根据权利要求2所述的方法,其特征在于,所述确定所述压测对象在未进行压力测试时的第二积压数据量,包括:
获取历史生产数据量、及所述压测对象在未进行压力测试的历史时间段内的历史处理数据量,其中,所述历史生产数据量是由所述压测对象的上游对象在所述历史时间段内生产的需被所述压测对象处理的生产数据的数量;
根据所述历史生产数据量和所述历史处理数据量确定所述压测对象在未进行压力测试时的第二积压数据量。
6.根据权利要求1所述的方法,其特征在于,所述待处理数据量包括待被所述压测对象在未来时间段内处理的所述待处理数据的数量,则所述预测待被所述压测对象处理的待处理数据的待处理数据量,包括:
确定过去生产数据量,其中,所述过去生产数据量是由所述压测对象的上游对象在过去时间段内生产的需被所述压测对象处理的生产数据的数量,所述过去时间段与所述未来时间段的时长相同;
获取预设积压系数,并根据所述预设积压系数和所述过去生产数据量得到待被所述压测对象在所述未来时间段内处理的待处理数据的待处理数据量。
7.根据权利要求1所述的方法,其特征在于,所述根据所述待处理数据量、所述数据处理速率、以及针对于所述压测对象在数据处理上预先设置的可接受延迟时间,得到所述压测对象的压力测试结果,包括:
根据所述数据处理速率确定所述压测对象为处理完成所述待处理数据量的所述待处理数据而需要的所需处理时间;
基于所述所需处理时间、及针对于所述压测对象在数据处理上预先设置的可接受延迟时间,得到所述压测对象的压力测试结果。
8.根据权利要求7所述的方法,其特征在于,所述基于所述所需处理时间、及针对于所述压测对象在数据处理上预先设置的可接受延迟时间,得到所述压测对象的压力测试结果,包括:
如果所述所需处理时间大于针对于所述压测对象在数据处理上预先设置的可接受延迟时间,则确定所述所需处理时间和所述可接受延迟时间之间的差值;
根据所述差值确定风险等级,并根据所述风险等级确定出所述压测对象的压力测试结果。
9.根据权利要求1所述的方法,其特征在于,所述压测数据包括用于进行压力测试的MQ消息,所述获取压测对象在处理压测数据过程中的各预设处理时间上未被所述压测对象处理的所述压测数据的第一积压数据量,包括:
获取压测对象在处理所述MQ消息过程中的各预设处理时间上,未被所述压测对象处理的主题相同的所述MQ消息的第一积压数据量;
相应的,所述确定目标处理时间、及所述压测对象在所述目标处理时间内处理的所述压测数据的已处理数据量,包括:
确定目标处理时间、以及所述压测对象在所述目标处理时间内处理的所述主题相同的所述MQ消息的已处理数据量。
10.根据权利要求1所述的方法,其特征在于,在响应于压力测试指令之后,还包括:
获取压测配置信息,并根据所述压测配置信息确定压测启动方式;
如果所述压测启动方式是第一启动方式,则控制所述压测对象停机,并在从所述压测对象停机开始的预设时间间隔后控制所述压测对象重启,以使所述压测对象对停机过程中接收到的所述压测数据进行处理;
和/或,
如果所述压测启动方式是第二启动方式,则将已往时间段内已被所述压测对象处理过的被处理数据作为压测数据,以使所述压测对象重复处理所述压测数据。
11.一种压力测试装置,其特征在于,包括:
第一积压数据量获取模块,用于响应于压力测试指令,获取压测对象在处理压测数据过程中的各预设处理时间上未被所述压测对象处理的所述压测数据的第一积压数据量;
数据处理速率确定模块,用于根据各所述第一积压数据量和各所述预设处理时间确定目标处理时间、及所述压测对象在所述目标处理时间内处理的所述压测数据的已处理数据量,并根据所述目标处理时间和所述已处理数据量确定所述压测对象的数据处理速率;
压力测试结果得到模块,用于预测待被所述压测对象处理的待处理数据的待处理数据量,并根据所述待处理数据量、所述数据处理速率、及针对于所述压测对象在数据处理上预先设置的可接受延迟时间,得到所述压测对象的压力测试结果。
12.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-10中任一项所述的压力测试方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现如权利要求1-10中任一所述的压力测试方法。
CN202211111747.5A 2022-09-13 2022-09-13 一种压力测试方法、装置、电子设备及存储介质 Pending CN115454847A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211111747.5A CN115454847A (zh) 2022-09-13 2022-09-13 一种压力测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211111747.5A CN115454847A (zh) 2022-09-13 2022-09-13 一种压力测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115454847A true CN115454847A (zh) 2022-12-09

Family

ID=84303030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211111747.5A Pending CN115454847A (zh) 2022-09-13 2022-09-13 一种压力测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115454847A (zh)

Similar Documents

Publication Publication Date Title
CN112527598B (zh) 监控数据的方法、装置、设备、存储介质和程序产品
CN115378859B (zh) 用于确定极限状态信息的方法、装置、设备、介质和产品
CN114500339A (zh) 一种节点带宽监测方法、装置、电子设备及存储介质
CN112506619A (zh) 作业处理方法、装置、电子设备、存储介质和程序产品
CN115629903A (zh) 任务延迟监控方法、装置、设备及存储介质
CN115454847A (zh) 一种压力测试方法、装置、电子设备及存储介质
CN116594563A (zh) 分布式存储扩容方法、装置、电子设备和存储介质
CN115619170A (zh) 电量负荷调整方法、装置、设备、计算机介质和程序产品
CN116011677A (zh) 时序数据的预测方法、装置、电子设备及存储介质
CN115774602A (zh) 一种容器资源的分配方法、装置、设备及存储介质
CN114968728A (zh) 一种数据采集方法、装置、设备及存储介质
CN114564149A (zh) 一种数据存储方法、装置、设备及存储介质
CN115049369A (zh) 一种项目管理方法、装置、电子设备及存储介质
CN113434218A (zh) 微服务配置方法、装置、电子设备和介质
CN113411390B (zh) 内容分发网络的调度方法、装置及电子设备
CN116719621B (zh) 一种针对海量任务的数据回写方法、装置、设备及介质
CN115801763A (zh) 文件传输方法、装置、电子设备及存储介质
CN115563015A (zh) 一种代码热度统计方法、装置、设备和存储介质
CN116091161A (zh) 一种滤芯的运营管理方法、装置、电子设备和存储介质
CN115766502A (zh) 用于物联网的信号强度监测方法、装置、设备及存储介质
CN115480993A (zh) 一种信号到达时间阈值确定方法、装置、设备及存储介质
CN114722006A (zh) 一种数据传输的控制方法、装置、设备及存储介质
CN117632294A (zh) 一种应用程序配置方法、装置、设备及介质
CN115389943A (zh) 一种电池放电深度确定方法、装置、设备及存储介质
CN113656299A (zh) 极限qps的确定方法、装置、电子设备及可读存储介质

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