CN115576791A - 压测线程的动态调整方法、装置、电子设备及存储介质 - Google Patents

压测线程的动态调整方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115576791A
CN115576791A CN202211329073.6A CN202211329073A CN115576791A CN 115576791 A CN115576791 A CN 115576791A CN 202211329073 A CN202211329073 A CN 202211329073A CN 115576791 A CN115576791 A CN 115576791A
Authority
CN
China
Prior art keywords
thread
pressure measurement
target
threads
pressure measuring
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
CN202211329073.6A
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.)
Shanghai Shizhuang Information Technology Co ltd
Original Assignee
Shanghai Shizhuang 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 Shanghai Shizhuang Information Technology Co ltd filed Critical Shanghai Shizhuang Information Technology Co ltd
Priority to CN202211329073.6A priority Critical patent/CN115576791A/zh
Publication of CN115576791A publication Critical patent/CN115576791A/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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

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

Abstract

本发明实施例公开了一种压测线程的动态调整方法、装置、电子设备及存储介质,涉及计算机技术领域,该方法包括:接收线程调整指令,线程调整指令包括目标线程组名称和线程调整方式;根据目标线程组名称获取正在执行压测程序的目标线程组,并根据线程调整方式对目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程;为目标数量的压测线程分别设置运行时间,以使得在压测程序执行至运行时间时,根据目标数量的压测线程执行压测程序。本发明实施例能够在执行压测程序时对压测线程数量进行动态调整,解决了现有方案中在获得压测结果后才能调整压测线程的数量导致的压测效率低的问题,取到了提高压测效率的有益效果。

Description

压测线程的动态调整方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及压测线程的动态调整方法、装置、电子设备及存储介质。
背景技术
在移动互联网时代,软件性能的好坏是软件健康度的直接体现。因此,在软件发行前,进行软件性能测试是必不可少的环节。
现有一般使用JMeter性能测试软件进行压力测试,即,以线程的方式对调用接口进行发压测试,用户通过JMeter页面来设置线程组中对应的线程数量,以对不同协议接口(如,dubbo、http、websocket等)进行快速访问,从而达到模拟瞬时用户访问进行压力测试的目的。进一步根据压测结果来判断当前压测线程数量的设置是否合适,若不合适,则通过经验对线程数量进行调整并进行再次压测,直至达到压测目标。
上述常规使用的压测方案,应用场景受限,对于业务量较多的系统而言,由于系统庞大,接口较多、压测范围广等原因,若反复在获得压测结果后调整线程数再启动进行压测,压测效率较低。
发明内容
本发明实施例提供一种压测线程的动态调整方法、装置、电子设备及存储介质,能够改善现有的压测线程的调整方案。
第一方面,本发明实施例提供一种压测线程的动态调整方法,包括:
接收线程调整指令,所述线程调整指令包括目标线程组名称和线程调整方式;
根据所述目标线程组名称获取正在执行压测程序的目标线程组,并根据所述线程调整方式对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程;
为目标数量的所述压测线程分别设置运行时间,以使得在所述压测程序执行至所述运行时间时,根据目标数量的所述压测线程执行所述压测程序。
可选地,所述线程调整方式包括线程调整类型和线程变化量;
所述根据所述线程调整方式对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程,包括:
根据所述线程调整类型和所述线程变化量对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程。
可选地,在所述线程调整类型为增加压测线程时,所述根据所述线程调整类型和所述线程变化量对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程,包括:
在所述目标线程组包含第一压测线程的基础上,从压测线程集合中获取所述线程变化量对应的第二压测线程,所述第一压测线程为所述目标线程组中的当前压测线程;
根据所述第一压测线程和所述第二压测线程之和获得所述目标数量的压测线程。
可选地,在所述线程调整类型为减少压测线程时,所述根据所述线程调整类型和所述线程变化量对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程,包括:
在所述目标线程组包含的第一压测线程中确定所述线程变化量对应的第三压测线程,所述第一压测线程为所述目标线程组中的当前压测线程;
根据所述第一压测线程和所述第三压测线程之差获得所述目标数量的压测线程。
可选地,所述为目标数量的所述压测线程分别设置运行时间,包括:
为所述第二压测线程分别设置开始运行时间,以使得在所述压测程序执行至所述开始运行时间时,根据所述目标数量的压测线程执行所述压测程序。
可选地,所述目标数量的所述压测线程分别设置运行时间,包括:
为所述第三压测线程分别设置停止运行时间,以使得在所述压测程序执行至所述停止运行时间时,根据所述目标数量的压测线程执行所述压测程序。
可选地,所述根据所述目标线程组名称获取正在执行压测程序的目标线程组,包括:
获取处在运行状态的线程组集合,一个所述线程组集合包括多个线程组;
根据所述目标线程组名称在所述线程组集合中获取目标线程组。
可选地,所述方法应用于压测系统,所述压测系统包括Jetty子系统和Http子系统,所述Jetty子系统是通过JMeter实现的,所述Jetty子系统包括Http协议信息;
在接收所述线程调整指令之前,所述方法还包括:
所述Http子系统通过所述Http协议信息将所述线程调整指令发送至Jetty子系统。
第二方面,本发明实施例提供一种压测线程的动态调整装置,所述装置包括:
指令接收模块,用于接收线程调整指令,所述线程调整指令包括目标线程组名称和线程调整方式;
线程调整模块,用于根据所述目标线程组名称获取正在执行压测程序的目标线程组,并根据所述线程调整方式对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程;
程序执行模块,用于为目标数量的所述压测线程分别设置运行时间,以使得在所述压测程序执行至所述运行时间时,根据目标数量的所述压测线程执行所述压测程序。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的压测线程的动态调整方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的压测线程的动态调整方法。
本发明实施例的压测线程的动态调整方案,首先接收线程调整指令,并通过线程调整指令中的目标线程组名称获取正在执行压测程序的目标线程组,进一步通过线程调整指令中的线程调整方式对目标线程组中的当前压测线程进行动态调整,从而获得目标数量的压测线程;最后为目标数量的压测线程分别设置运行时间,以使得在压测程序执行至运行时间时,根据目标数量的压测线程执行压测程序。本方案能够在执行压测程序时对压测线程数量进行动态调整,解决了现有方案中在获得压测结果后才能调整压测线程的数量导致的压测效率低的问题,取到了提高压测效率的有益效果。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明实施例的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的压测线程的动态调整方法的一个流程示意图;
图2是本发明实施例提供的压测线程的动态调整方法的另一流程示意图;
图3是本发明实施例提供的压测线程的动态调整装置的一个结构示意图;
图4是本发明实施例提供的电子设备的一个结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的压测线程的动态调整方法的一个流程示意图,本实施例可适用于在对目标接口执行压测程序时,对压测线程进行动态调整的情况,该方法可以由压测线程的动态调整装置来执行,该装置可以采用硬件和/或软件的形式实现,该装置可配置于服务器等计算机设备中。参考图1,该方法具体可以包括如下步骤:
S110、接收线程调整指令。
本发明实施例提供的压测线程的动态调整方法基于JMeter工具来实现,JMeter是一种常用的压力测试软件工具,其工作原理是利用大量的压测线程向被压接口发送访问请求以达到压测目的。
在基于JMeter执行压测程序时,在程序执行的显示页面上可包含有线程调整按钮,当测试人员判定当前需要对压测线程数量进行调整时,可点击显示页面的线程调整按钮以发送线程调整指令。
其中,上述对压测线程数量进行调整的判定方式可以为,在压测程序根据当前压测线程数量获得压测结果后,测试人员可根据压测结果对压测线程数量进行实际调整;也可以为,测试人员需要对不同数量的压测线程分别进行压测,当前无需获得每个数量压测线程对应的压测结果,只需将线程调整指令发送后,服务器等计算机设备根据当前指令包含的线程调整方式进行自动调整,后台可自动记录不同压测线程数量对应的压测结果,从而测试人员可根据多种压测结果进行分析等,具体对压测线程数量进行调整的方式在此不作限制。
上述线程调整指令可以包括目标线程组名称和线程调整方式。
其中,一个线程组对应一个线程组名称,在需要对被压接口进行压测的线程组的压测线程数量进行调节时,由于当前对被压接口进行压测的线程组可能包含有多个,则可根据目标线程组名称进行准备查找,以获得目标线程组,一个线程组中包含有多个压测线程,从而可通过对目标线程组中压测线程数量的调整,达到根据不同数量的压测线程对被压接口进行测压的目的。
线程调整方式可以为基于目标线程组包含的当前压测线程数量具体进行调整的方式。示例性地,线程调整方式可以为增加压测线程数量或减少压测线程数量;进一步地,线程调整方式还可以包括增加或减少压测线程数量的变化量,即增加多少数量的压测线程或减少多少数量的压测线程等。
可选地,上述线程调整方式的表示形式可以通过文字、字母或者数字的形式进行表示。示例性地,以线程调整方式包括增加压测线程数量和减少压测线程数量为例,增加压测线程数量的表示形式可通过文字“增大”、字母“u”(up,向上)或者数字“1”进行表示;相对应地,减少压测线程数量的表示形式可通过文字“减小”、字母“d”(down,向下)或者数字“0”进行表示等,具体线程调整方式的表示形式在此不作限制。
S120、根据目标线程组名称获取正在执行压测程序的目标线程组,并根据线程调整方式对目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程。
在服务器端可包含有线程组集合,线程组集合中包含有多个线程组名称,则可根据线程调整指令中的目标线程组名称获取到目标线程组。其中,目标线程组为正在执行压测程序的线程组,即在对目标线程组中的压测线程数量进行动态改变时,无需终止其正在进行的压测进程,以达到提高压测效率的目的。
在根据线程调整方式对目标线程组中的当前压测线程进行动态调时,调整方式可以为,根据线程调整方式中实质指示的“增大”或“减小”对目标线程组中当前数量的压测线程进行调整。在进行调整时,可根据测试人员预先设置的默认数值进行调整,示例性地,每次调整5个单位的压测线程数量,或者10个单位的压测线程数量等;还可在线程调整方式中包含有对当前数量的压测线程的线程调整量,即测试人员可根据实际情况进行设置,例如上一次调整3个单位的压测线程数量,下一次调整5个单位的压测线程数量等,具体对目标线程组中当前压测线程进行动态调整的方式在此不作限制。
S130、为目标数量的压测线程分别设置运行时间,以使得在压测程序执行至运行时间时,根据目标数量的压测线程执行压测程序。
由于目标线程组中当前数量的压测线程正在执行压测程序,可能存在压测程序未执行完即未获得压测结果的情况。因此,在步骤S120中获得目标数量的压测线程后,为每个压测线程分别设置运行时间,以使得在压测程序执行至设置的运行时间后,能够自动根据目标数量的压测线程继续进行压测,以提高压测效率。
可选地,上述运行时间可以包括开始运行时间和停止运行时间,且可为目标数量的每个压测线程分别设置不同的开始运行时间和停止运行时间,以使得在当前时间段对被压接口模拟不同数量的压测线程,以进行动态访问的目的。
本发明实施例提供的压测线程的动态调整方法,首先接收线程调整指令,并通过线程调整指令中的目标线程组名称获取正在执行压测程序的目标线程组,进一步通过线程调整指令中的线程调整方式对目标线程组中的当前压测线程进行动态调整,从而获得目标数量的压测线程;最后为目标数量的压测线程分别设置运行时间,以使得在压测程序执行至运行时间时,根据目标数量的压测线程执行压测程序。本方案能够在执行压测程序时对压测线程数量进行动态调整,解决了现有方案中在获得压测结果后才能调整压测线程的数量导致的压测效率低的问题,取到了提高压测效率的有益效果。
图2是本发明实施例提供的压测线程的动态调整方法的另一流程示意图,本实施例与上述实施例之间的关系对上述实施例相应特征的进一步细化。
如图2所示,该方法可以包括如下步骤:
S210、Http子系统通过Http协议信息将线程调整指令发送至Jetty子系统。
本发明实施例提供的压测线程的动态调整方法可应用于压测系统,压测系统包括Jetty子系统和Http子系统,Jetty子系统是通过JMeter实现的,Jetty子系统包括Http协议信息。
在Jmeter中实现Jetty子系统的方式可以为,在JMeter的内部嵌入Web组件Jetty,利用Jetty组件创建Web容器环境,当前创建的Web容器环境为Jetty子系统。进一步地,在Jetty子系统中包含有JMeter的核心信息,即在Jetty子系统中存储有java虚拟机内存地址,可通过该内存地址获取到JMeter压测的相关信息,如线程集合信息(threadGroups)、每个线程集合中线程组(threadGroup)信息,以及每个线程组中的压测线程(JMeterThread)信息等,具体Jetty子系统中包含的关于JMeter的核心信息的内容在此不作限制。
进一步地,由于JMeter是非web系统应用,针对电商等大型系统而言,网站内部往往属于web系统应用,因此,在Jetty子系统中还包含有Http协议信息,以使得web系统应用中集成的Http子系统可以通过Http协议信息获取线程调整指令,并将线程调用指令发送至Jetty子系统,通过为其增加web功能使得本实施例提供的压测线程的动态调整方法适用于多种应用场景。
可选地,在实施本方案之前,需要对压测系统中的Jetty子系统和Http子系统进行初始化处理,这样做的目的在于为了在Jetty子系统中暴露Http协议信息,以使得为Http子系统能够通过Http协议信息将线程调整指令发送至Jetty子系统。
在web系统中对被压接口进行测试时,可首先获取线程调整指令,并将线程调整指令通过Http协议信息发送至Jetty子系统。示例性地,线程调整指令可以包括:目标线程组名称(threadGroupName)、线程调整类型(threadtype)以及线程调整数量(threadCount)等,具体线程调整指令包含的内容在此不作限制。
S220、接收线程调整指令。
S230、获取处在运行状态的线程组集合。
在接收到线程调整指令后,首先基于Jetty子系统提供的有java虚拟机内存地址获取处在运行状态线程组集合,一个线程组集合包括多个线程组。
S231、根据目标线程组名称在线程组集合中获取目标线程组。
在Http子系统中只向Jetty子系统传输关于目标线程组的线程名称,即告知Jetty子系统当前需要对哪一个线程组进行调整,在Jetty子系统中根据目标线程组名称从正在运行的线程组集合中获取目标线程组。
进一步地,在线程调整方式包括线程调整类型和线程变化量时,需要根据线程调整类型和线程变化量对目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程。
其中,线程调整类型表示当前调整方式为增加压测线程,还是减少压测线程;线程变化量表示针对目标线程组中包含的当前数量的压测线程需要改变多少数量的压测线程。
S240、判断线程调整类型是否为增加压测线程。
本实施例提供的压测线程的动态调整方法,其中的线程调整类型包括增加压测线程和减少压测线程,在对目标线程组进行一次动态调整的过程中,线程调整方式只会为增加压测线程或者为减少压测线程。
具体地,若线程调整类型是增加压测线程,则执行步骤S250~S260;若否,即当前线程调整类型为减少压测线程,则执行步骤S270~S280。
S250、在目标线程组包含第一压测线程的基础上,从压测线程集合中获取线程变化量对应的第二压测线程。
上述第一压测线程为目标线程组中的当前压测线程,即在线程调整类型为增加压测线程时,目标线程组包含的第一压测线程不满足需求,则需从压测线程集合中获取线程变化量对应的第二压测线程。
压测线程集合中包含有多个第二压测线程,当前第二压测线程为预先设置的未执行压测程序的压测线程。
S251、根据第一压测线程和第二压测线程之和获得目标数量的压测线程。
S260、为第二压测线程分别设置开始运行时间,以使得在压测程序执行至开始运行时间时,根据目标数量的压测线程执行压测程序。
在目标线程组中包含第一压测线程的基础上,为第二压测线程分别设置开始运行时间,这样做的作用在于,第一压测线程可继续执行压测程序,在压测程序执行至当前设置的开始运行时间时,第二压测线程则根据开始运行时间依次加入到目标线程组中,以实现根据目标数量的压测线程执行压测程序。
S270、在目标线程组包含的第一压测线程中确定线程变化量对应的第三压测线程。
上述第一压测线程为目标线程组中的当前压测线程,即在线程调整类型为减少压测线程时,目标线程组包含的第一压测线程数量较多,则需从压测线程集合中获取线程变化量对应的第二压测线程。
即第二压测线程为需要从第一压测线程中减少的数量,从第一压测线程确定第三压测线程的方式可以为,根据第一压测线程的数量,随机选取线程变化量对应数量的压测线程作为第三压测线程,也可在目标线程组中包含的第一压测线程中顺序或倒序选取线程变化量对应的压测线程作为第三压测线程,具体第三压测线程的确定方式在此不作限制。
S271、根据第一压测线程和第三压测线程之差获得目标数量的压测线程。
S280、为第三压测线程分别设置停止运行时间,以使得在压测程序执行至停止运行时间时,根据目标数量的压测线程执行压测程序。
为第三压测线程分别设置停止运行时间,这样做的作用在于,由于目标线程组包含的第一压测线程数量较多,则第一压测线程中包含的目标数量的压测线程可继续执行压测程序,则为在第三压测线程分别设置停止运行时间后,第三压测线程在程序执行至当前设置的停止运行时间时,可自动停止运行,则在三压测线程在停止运行时间停止后,可自动据目标数量的压测线程执行压测程序。
本发明实施例提供的压测线程的动态调整方法,通过线程调整指令可对正在执行压测程序的目标线程组中的压测线程数量进行调整,以在压测程序执行至预先设置的启动时间时,可动态调整目标线程组中的压测线程数量,以使得根据目标数量的压测线程执行压测程序,达到了在无需终止压测程序的基础上实现动态调整压测线程数量的效果;且由于常规使用的JMeter是非web应用,在部分大型系统内部往往是web系统应用,因此通过在Jetty子系统包括Http协议信息,以使得Http子系统基于Http协议信息向Jetty子系统发送线程调整指令,该方案可应用在如大型电商平台等特大并发压测的场景中,达到了扩大应用场景,提高压测效率,节省时间成本和人工成本的有益效果。
图3是本发明实施例提供的压测线程的动态调整装置的一个结构示意图,该装置适用于执行本发明实施例提供的压测线程的动态调整方法。如图3所示,该装置具体可以包括:指令接收模块310、线程调整模块320和程序执行模块330,其中:
指令接收模块310,用于接收线程调整指令,所述线程调整指令包括目标线程组名称和线程调整方式;
线程调整模块320,用于根据所述目标线程组名称获取正在执行压测程序的目标线程组,并根据所述线程调整方式对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程;
程序执行模块330,用于为目标数量的所述压测线程分别设置运行时间,以使得在所述压测程序执行至所述运行时间时,根据目标数量的所述压测线程执行所述压测程序。
本发明实施例提供的压测线程的动态调整装置,首先接收线程调整指令,并通过线程调整指令中的目标线程组名称获取正在执行压测程序的目标线程组,进一步通过线程调整指令中的线程调整方式对目标线程组中的当前压测线程进行动态调整,从而获得目标数量的压测线程;最后为目标数量的压测线程分别设置运行时间,以使得在压测程序执行至运行时间时,根据目标数量的压测线程执行压测程序。本方案能够在执行压测程序时对压测线程数量进行动态调整,解决了现有方案中在获得压测结果后才能调整压测线程的数量导致的压测效率低的问题,取到了提高压测效率的有益效果。
一实施例中,所述线程调整方式包括线程调整类型和线程变化量;
所述线程调整模块320,具体用于根据所述线程调整类型和所述线程变化量对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程。
一实施例中,在所述线程调整类型为增加压测线程时,所述线程调整模块320包括线程获取单元和目标线程获得单元,其中:
线程获取单元,用于在所述目标线程组包含第一压测线程的基础上,从压测线程集合中获取所述线程变化量对应的第二压测线程,所述第一压测线程为所述目标线程组中的当前压测线程;
目标线程获得单元,用于根据所述第一压测线程和所述第二压测线程之和获得所述目标数量的压测线程。
一实施例中,在所述线程调整类型为减少压测线程时,所述线程获取单元,还用于在所述目标线程组包含的第一压测线程中确定所述线程变化量对应的第三压测线程,所述第一压测线程为所述目标线程组中的当前压测线程;
所述目标线程获得单元,还用于根据所述第一压测线程和所述第三压测线程之差获得所述目标数量的压测线程。
一实施例中,所述程序执行模块330,具体用于为所述第二压测线程分别设置开始运行时间,以使得在所述压测程序执行至所述开始运行时间时,根据所述目标数量的压测线程执行所述压测程序。
一实施例中,所述程序执行模块330,具体还用于为所述第三压测线程分别设置停止运行时间,以使得在所述压测程序执行至所述停止运行时间时,根据所述目标数量的压测线程执行所述压测程序。
一实施例中,所述线程调整模块320,具体还用于获取处在运行状态的线程组集合,一个所述线程组集合包括多个线程组;根据所述目标线程组名称在所述线程组集合中获取目标线程组。
一实施例中中所述装置集成于压测系统,所述压测系统包括Jetty子系统和Http子系统,所述Jetty子系统是通过JMeter实现的,所述Jetty子系统包括Http协议信息;
所述装置还包括:指令发送模块;
指令发送模块,用于所述Http子系统通过所述Http协议信息将所述线程调整指令发送至Jetty子系统。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种电子设备,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的压测线程的动态调整方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的压测线程的动态调整方法。
下面参考图4,其示出了适于用来实现本发明实施例的电子设备的计算机系统500的结构示意图。图4示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括指令接收模块、线程调整模块和程序执行模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收线程调整指令,所述线程调整指令包括目标线程组名称和线程调整方式;根据所述目标线程组名称获取正在执行压测程序的目标线程组,并根据所述线程调整方式对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程;为目标数量的所述压测线程分别设置运行时间,以使得在所述压测程序执行至所述运行时间时,根据目标数量的所述压测线程执行所述压测程序。
根据本发明实施例的技术方案,可以在执行压测程序时对压测线程数量进行动态调整,解决了现有方案中在获得压测结果后才能调整压测线程的数量导致的压测效率低的问题,取到了提高压测效率的有益效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (11)

1.一种压测线程的动态调整方法,其特征在于,所述方法包括:
接收线程调整指令,所述线程调整指令包括目标线程组名称和线程调整方式;
根据所述目标线程组名称获取正在执行压测程序的目标线程组,并根据所述线程调整方式对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程;
为目标数量的所述压测线程分别设置运行时间,以使得在所述压测程序执行至所述运行时间时,根据目标数量的所述压测线程执行所述压测程序。
2.根据权利要求1所述的方法,其特征在于,所述线程调整方式包括线程调整类型和线程变化量;
所述根据所述线程调整方式对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程,包括:
根据所述线程调整类型和所述线程变化量对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程。
3.根据权利要求2所述的方法,其特征在于,在所述线程调整类型为增加压测线程时,所述根据所述线程调整类型和所述线程变化量对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程,包括:
在所述目标线程组包含第一压测线程的基础上,从压测线程集合中获取所述线程变化量对应的第二压测线程,所述第一压测线程为所述目标线程组中的当前压测线程;
根据所述第一压测线程和所述第二压测线程之和获得所述目标数量的压测线程。
4.根据权利要求2所述的方法,其特征在于,在所述线程调整类型为减少压测线程时,所述根据所述线程调整类型和所述线程变化量对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程,包括:
在所述目标线程组包含的第一压测线程中确定所述线程变化量对应的第三压测线程,所述第一压测线程为所述目标线程组中的当前压测线程;
根据所述第一压测线程和所述第三压测线程之差获得所述目标数量的压测线程。
5.根据权利要求3所述的方法,其特征在于,所述为目标数量的所述压测线程分别设置运行时间,包括:
为所述第二压测线程分别设置开始运行时间,以使得在所述压测程序执行至所述开始运行时间时,根据所述目标数量的压测线程执行所述压测程序。
6.根据权利要求4所述的方法,其特征在于,所述为目标数量的所述压测线程分别设置运行时间,包括:
为所述第三压测线程分别设置停止运行时间,以使得在所述压测程序执行至所述停止运行时间时,根据所述目标数量的压测线程执行所述压测程序。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标线程组名称获取正在执行压测程序的目标线程组,包括:
获取处在运行状态的线程组集合,一个所述线程组集合包括多个线程组;
根据所述目标线程组名称在所述线程组集合中获取目标线程组。
8.根据权利要求1所述的方法,其特征在于,所述方法应用于压测系统,所述压测系统包括Jetty子系统和Http子系统,所述Jetty子系统是通过JMeter实现的,所述Jetty子系统包括Http协议信息;
在接收所述线程调整指令之前,所述方法还包括:
所述Http子系统通过所述Http协议信息将所述线程调整指令发送至Jetty子系统。
9.一种压测线程的动态调整装置,其特征在于,包括:
指令接收模块,用于接收线程调整指令,所述线程调整指令包括目标线程组名称和线程调整方式;
线程调整模块,用于根据所述目标线程组名称获取正在执行压测程序的目标线程组,并根据所述线程调整方式对所述目标线程组中的当前压测线程进行动态调整,获得目标数量的压测线程;
程序执行模块,用于为目标数量的所述压测线程分别设置运行时间,以使得在所述压测程序执行至所述运行时间时,根据目标数量的所述压测线程执行所述压测程序。
10.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的压测线程的动态调整方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8任一项所述的压测线程的动态调整方法。
CN202211329073.6A 2022-10-27 2022-10-27 压测线程的动态调整方法、装置、电子设备及存储介质 Pending CN115576791A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211329073.6A CN115576791A (zh) 2022-10-27 2022-10-27 压测线程的动态调整方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211329073.6A CN115576791A (zh) 2022-10-27 2022-10-27 压测线程的动态调整方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115576791A true CN115576791A (zh) 2023-01-06

Family

ID=84586350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211329073.6A Pending CN115576791A (zh) 2022-10-27 2022-10-27 压测线程的动态调整方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115576791A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117194131A (zh) * 2023-11-06 2023-12-08 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、可读存储介质及程序产品

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117194131A (zh) * 2023-11-06 2023-12-08 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、可读存储介质及程序产品
CN117194131B (zh) * 2023-11-06 2024-02-27 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、可读存储介质及程序产品

Similar Documents

Publication Publication Date Title
CN111209202A (zh) 终端应用测试方法和装置
CN107547309A (zh) 一种安全网关性能的自动化测试方法及装置
CN113191114B (zh) 用于验证系统的方法和装置
CN111274512A (zh) 一种页面加载方法、装置及介质
CN114389969A (zh) 客户端的测试方法、装置、电子设备和存储介质
CN115576791A (zh) 压测线程的动态调整方法、装置、电子设备及存储介质
WO2017206893A1 (zh) 界面刷新同步方法、装置、终端及存储介质
CN115729552A (zh) 算子级别的并行度的设置方法及其装置
CN110635961A (zh) 服务器的压测方法、装置和系统
CN113434384B (zh) 一种压力测试方法和装置
CN112965916A (zh) 页面测试方法、页面测试装置、电子设备及可读存储介质
CN110557341A (zh) 数据限流的方法和装置
CN113064777A (zh) 数据采集服务的测试方法和装置
CN112800363A (zh) 页面显示方法、装置、电子设备和计算机可读介质
CN112579447A (zh) 一种浏览器测试方法和装置
CN112131095B (zh) 压力测试方法和装置
CN111338928A (zh) 基于chrome浏览器测试的方法及装置
CN114465919B (zh) 一种网络服务测试方法、系统、电子设备及存储介质
CN110912771A (zh) 加速节点的测试方法、装置、电子设备及计算机可读介质
CN109462491B (zh) 用于测试服务器功能的系统、方法和装置
CN113760715B (zh) 一种对系统进行测试的方法和装置
CN111338861B (zh) 基于rss的网卡性能测试方法、装置、设备及存储介质
CN114138358A (zh) 应用程序的启动优化方法、装置、设备和存储介质
CN109726086A (zh) 测试服务器性能的方法和装置
CN113778844A (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
CB02 Change of applicant information

Country or region after: China

Address after: Room 6416, Building 13, No. 723 Tongxin Road, Hongkou District, Shanghai 200080

Applicant after: Shanghai Dewu Information Group Co.,Ltd.

Address before: Room B6-2005, No. 121 Zhongshan North 1st Road, Hongkou District, Shanghai

Applicant before: SHANGHAI SHIZHUANG INFORMATION TECHNOLOGY Co.,Ltd.

Country or region before: China