CN115242676A - 软件系统容量压力测试方法、装置、电子设备及存储介质 - Google Patents
软件系统容量压力测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115242676A CN115242676A CN202210900889.3A CN202210900889A CN115242676A CN 115242676 A CN115242676 A CN 115242676A CN 202210900889 A CN202210900889 A CN 202210900889A CN 115242676 A CN115242676 A CN 115242676A
- Authority
- CN
- China
- Prior art keywords
- flow
- scheduling
- pressure
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种软件系统容量压力测试方法、装置、电子设备及存储介质。其中软件系统容量压力测试方法包括:根据配置参数确定待测试软件系统的压力测试任务,其中,待测试软件系统中包括多个服务实例;监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息;利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果;基于调度结果完成多个服务实例的压力测试。本发明解决了现有技术中采用流量调度式压测方法对软件系统进行流量压测时,流量的稳定性较差的技术问题。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及软件系统容量压力测试方法、装置、电子设备及存储介质。
背景技术
在互联网领域应用场景中,经常涉及对软件系统进行压测以评估该软件系统对数据容量的承压能力。
现有技术中通常采流量调度式压测方法对软件系统进行压测。但是,由于线上真实流量处于动态变化中,在保持一个固定的流量调度比例时,压测的目标机器上的实时流量会存在实时波动。实时流量的波动会导致流量增长曲线出现压力水位倒退,进而使流量压力曲线波动较大。
因此,如何提高压测过程中流量的稳定性成为相关技术领域中的重要问题之一。针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种软件系统容量压力测试方法、装置、电子设备及存储介质,以至少解决现有技术中采用流量调度式压测方法对软件系统进行流量压测时,流量的稳定性较差的技术问题。
根据本发明实施例的一个方面,提供了一种软件系统容量压力测试方法,包括:
根据配置参数确定待测试软件系统的压力测试任务,其中,待测试软件系统中包括多个服务实例;监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息;利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果;基于调度结果完成多个服务实例的压力测试。
可选地,配置参数至少包括:待测试服务名称、测试目标流量、测试时间和测试速度,其中,待测试服务名称用于确定压力测试任务对应的服务实例的名称,测试目标流量用于确定压力测试任务对应的流量调度预期信息,测试时间用于确定压力测试任务对应的时间信息,测试速度用于确定压力测试任务对应的测试推进速度信息。
可选地,利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息包括:模糊控制模型根据流量信息确定多个服务实例的流量权重值,其中,流量信息包括实时流量、目标流量差值和差值变化量,目标流量差值为测试目标流量与实时流量的差值,差值变化量为相邻检测时刻的两个目标流量差值的变化量;将多个服务实例的流量权重值的集合作为流量调度信息。
可选地,模糊控制模型根据流量信息确定多个服务实例的流量权重值包括:利用第一词集、第二词集和第三词集之间的映射关系,确定模糊控制规则,其中,第一词集用于确定目标流量差值的取值范围,第二词集用于确定差值变化量的取值范围,第三词集用于确定流量权重值的取值范围;根据目标流量差值、差值变化量和模糊控制规则,确定流量权重值。
可选地,根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果包括:基于流量调度信息,采用实例管理服务器对预设权重标签进行更新得到目标权重标签,预设权重标签和目标权重标签为键值对,键为流量权重,值为流量权重值;利用HTTP服务器获取目标权重标签;根据目标权重标签更新多个服务实例中的预设流量权重值;根据流量权重值调度压测流量得到调度结果,其中流量权重值为更新后的预设流量权重值。
可选地,实例管理服务器基于百度名字服务构建。
可选地,流量信息通过配置于服务实例中的流量探针得到。
根据本发明实施例的另一个方面,还提供了一种软件系统容量压力测试装置,包括:
配置模块,配置模块用于根据配置参数确定待测试软件系统的压力测试任务,其中,待测试软件系统中包括多个服务实例;获取模块,获取模块用于监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息;分析模块,分析模块用于利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;调度模块,调度模块用于根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果;压测模块,压测模块用于基于调度结果对多个服务实例进行压力测试。
可选地,配置模块中包括配置参数,配置参数至少包括:待测试服务名称、测试目标流量、测试时间和测试速度,其中,待测试服务名称用于确定压力测试任务对应的服务实例的名称,测试目标流量用于确定压力测试任务对应的流量调度预期信息,测试时间用于确定压力测试任务对应的时间信息,测试速度用于确定压力测试任务对应的测试推进速度信息。
可选地,分析模块还用于利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息包括:模糊控制模型根据流量信息确定多个服务实例的流量权重值,其中,流量信息包括实时流量、目标流量差值和差值变化量,目标流量差值为测试目标流量与实时流量的差值,差值变化量为相邻检测时刻的两个目标流量差值的变化量;将多个服务实例的流量权重值的集合作为流量调度信息。
可选地,分析模块还用于模糊控制模型根据流量信息确定多个服务实例的流量权重值包括:利用第一词集、第二词集和第三词集之间的映射关系,确定模糊控制规则,其中,第一词集用于确定目标流量差值的取值范围,第二词集用于确定差值变化量的取值范围,第三词集用于确定流量权重值的取值范围;根据目标流量差值、差值变化量和模糊控制规则,确定流量权重值。
可选地,调度模块还用于根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果包括:基于流量调度信息,采用实例管理服务器对预设权重标签进行更新得到目标权重标签,预设权重标签和目标权重标签为键值对,键为流量权重,值为流量权重值;利用HTTP服务器获取目标权重标签;根据目标权重标签更新多个服务实例中的预设流量权重值;根据流量权重值调度压测流量得到调度结果,其中流量权重值为更新后的预设流量权重值。
可选地,软件系统容量压力测试装置中的实例管理服务器基于百度名字服务构建。
可选地,获取模块获取到的流量信息通过配置于服务实例中的流量探针得到。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项中的软件系统容量压力测试方法。
根据本发明实施例的另一个方面,还提供了一种存储有计算机指令的计算机可读存储介质,其中,计算机指令用于使计算机执行上述任一项中的软件系统容量压力测试方法。
在本发明实施例中,根据配置参数确定待测试软件系统的压力测试任务,然后监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息;利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果;基于调度结果完成多个服务实例的压力测试。通过获取服务实例的实时流量信息,然后基于实时流量信息采用模糊控制模型确定调度压测流量的流量调度信息,根据流量调度信息对压测流量进行调度以完成对多个服务实例的压测。通过服务实例的实时流量信息和模糊控制模型能够避免在压测过程中由于服务实例中的流量的实时波动对压测带来的影响,进而解决了现有技术中采用流量调度式压测方法对软件系统进行流量压测时,流量的稳定性较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的软件系统容量压力测试方法的流程图;
图2是根据本发明其中一实施例的压测系统架构示意图;
图3是根据本发明其中一实施例的流量调度信息传递顺序示意图;
图4是根据本发明其中一实施例的软件系统容量压力测试装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种软件系统容量压力测试方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
参照图1,图1是根据本发明其中一实施例的软件系统容量压力测试方法的流程图,如图1所示,该方法包括如下步骤:
步骤S11,根据配置参数确定待测试软件系统的压力测试任务。
其中,配置参数为根据待测试软件系统的实际测试需求,人工预设的一些参数,根据这些参数确定待测试软件系统的压力测试任务。配置参数可以存储在数据库中,需要使用的时候从数据库中查询得到。
可选的,配置参数至少包括:待测试服务名称、测试目标流量、测试时间和测试速度,其中,待测试服务名称用于确定压力测试任务对应的服务实例的名称,测试目标流量用于确定压力测试任务对应的流量调度预期信息,测试时间用于确定压力测试任务对应的时间信息,测试速度用于确定压力测试任务对应的测试推进速度信息。
步骤S12,监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息。
根据配置参数确定压力测试任务后,压力测试任务开始执行。监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息。
可选的,多个服务实例的流量信息通过配置于各个服务实例中的流量探针获得。流量探针可以为配置在服务实例中的流量监测程序。每个服务实例都对应有获取其流量信息的流量探针。
步骤S13,利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息。
模糊控制是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的计算机智能控制。模糊控制不需要精确的数学模型,对调节对象参数的变化不敏感,具有很强的鲁棒性。常用于一些受非线性影响因素的控制系统中。
模糊控制模型基于模糊控制算法设计,能够对流量信息进行分析处理得到用于调度压测流量的流量调度信息。其中,每个服务实例均对应有流量调度信息。
步骤S14,根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果。
具体的,根据压力测试任务中的任务信息和流量调度信息,对压测流量进行分配转发。转发是基于不同服务实例对应的流量调度信息进行转发,以使每个服务实例得到的压测流量达到压力测试任务中配置的流量。
步骤S15,基于调度结果完成多个服务实例的压力测试。
具体的,压测流量调度完成即完成对多个服务实例的压力测试。
根据配置参数确定待测试软件系统的压力测试任务,然后监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息;利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果;基于调度结果完成多个服务实例的压力测试。通过获取服务实例的实时流量信息,然后基于实时流量信息采用模糊控制模型确定调度压测流量的流量调度信息,根据流量调度信息对压测流量进行调度以完成对多个服务实例的压测。通过服务实例的实时流量信息和模糊控制模型能够避免在压测过程中由于服务实例中的流量的实时波动对压测带来的影响,进而解决了现有技术中采用流量调度式压测方法对软件系统进行流量压测时,流量的稳定性较差的技术问题。
可选地,在步骤S13中,利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息还包括如下方法步骤:
步骤S131,模糊控制模型根据流量信息确定多个服务实例的流量权重值。
其中,流量信息包括实时流量、目标流量差值和差值变化量,目标流量差值为测试目标流量与实时流量的差值,差值变化量为相邻检测时刻的两个目标流量差值的变化量。
需要说明的是,实时流量包括多个服务实例的实时流量,即每个服务实例对应有自己的实时流量。目标流量差值和差值变化量与实时流量是一一对应的。
需要注意的是,实时流量是由流量探针直接获取得到,目标流量差值和差值变化量是基于实时流量和配置参数计算得到。流量探针会根据配置文件配置的时间间隔进行检测得到实时流量。
在步骤S131中,目标流量差值和差值变化量作为模糊控制模型的输入,模糊控制模型基于输入的两个参数输出多个服务实例的流量权重值。
步骤S132,将多个服务实例的流量权重值的集合作为流量调度信息。
其中,流量调度信息中至少包括流量权重值以及流量权重值所对应的服务实例的名称或服务实例的ID。
可选地,在步骤S131中,模糊控制模型根据流量信息确定多个服务实例的流量权重值还包括如下方法步骤:
步骤S1311,利用第一词集、第二词集和第三词集之间的映射关系,确定模糊控制规则。
其中,第一词集用于确定目标流量差值的取值范围,第二词集用于确定差值变化量的取值范围,第三词集用于确定流量权重值的取值范围。
步骤S1312,根据目标流量差值、差值变化量和模糊控制规则,确定流量权重值。
在步骤S1311中,模糊控制模型根据第一词集、第二词集和第三词集之间的映射关系,生成模糊控制规则。第一词集用于确定目标流量差值的取值范围。第二词集用于确定差值变化量的取值范围。第三词集用于确定流量权重值的取值范围。
示例性的,将第一词集、第二词集与第三词集之间的映射关系用表来表示,如表1模糊控制规则表所示,其中E表示上述目标流量差值,ΔE表示上述、差值变化量,根据E和ΔE的值,确定流量权重值。E的取值范围为上述第一词集,即NB,NM,NS,NZ,PZ,PS,PM,PB。ΔE的取值范围为上述第二词集,即NB,NM,NS,Z,PS,PM,PB。流量权重值的取值范围为上述第三词集,即NB,NM,NS,Z,PS,PM,PB。
表1模糊控制规则表
在表1中,通过E和ΔE可以确定流量权重值。
通过步骤S1311至步骤S1312,通过第一词集、第二词集和第三词集之间的映射关系,生成模糊控制规则,进而根据目标流量差值、差值变化量和模糊控制规则,确定流量权重值,使得模糊控制模型能够根据目标流量差值和差值变化量,确定流量权重值,从而达到了根据目标流量差值和差值变化量生成压测流量调度所需的流量权重值的目的。
可选地,在步骤S14中,根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果还包括如下方法步骤:
步骤S141,基于流量调度信息,采用实例管理服务器对预设权重标签进行更新得到目标权重标签。
其中,预设权重标签和目标权重标签为键值对,键为流量权重,值为流量权重值。
对预设权重标签进行更新即为更新标签中的值,将预设标签中的预设权重值更新为流量调度信息中的流量权重值。
需要说明的是,每个服务实例均具有自己的标签信息,需要将标签信息中的预设权重标签更新为目标权重标签。
可选的,实例管理服务器基于百度名字服务(BNS)构建。BNS被广泛地应用于服务注册、服务发现、授权管理、流量调度等应用场景下。BNS支持各种开发语言,还能够提供命令行工具。
BNS除了能传递下游服务实例的ip、端口,还能传递下游各实例的所属机房信息,标签(即一个由key:value对组成的字符串)等信息。采用BNS服务发现方式,在上游服务调用下游服务时,上游使用服务名,通过本地服务器上部署的BNS代理(agent)获得下游服务的ip、端口等信息,发起对下游的网络请求。对比使用ip连接的方式,这种服务发现方式降低了上下游网络连接的耦合度。
步骤S142,利用HTTP服务器获取目标权重标签。
可选的,HTTP服务器从实例管理服务器中定时获取目标权重标签。还可以通过检测预设标签是否更新为目标权重标签,若更新为目标权重标签,HTTP服务器从实例管理服务器中获取目标权重标签。
可选的,HTTP服务器为Nginx服务器。Nginx是一个开源、高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。性能优越,配置简单,扩展性强,可靠性高,低成本等优点使得Nginx在商业互联网领域得到广泛应用
步骤S143,根据目标权重标签更新多个服务实例中的预设流量权重值。
具体的,读取目标权重标签中的流量权重值,将流量权重值对应配置到服务实例中以替换预设流量权重值。
步骤S144,根据流量权重值调度压测流量得到调度结果。
其中,流量权重值为更新后的预设流量权重值即原有的预设流量权重值已被流量权重值替换。
基于步骤S141到步骤S144,打通了BNS配置和Nginx的下游配置,通过更新BNS中的标签信息,控制Nginx更新后端的流量调度权重,实现了BNS与Nginx结合的精细化流量调度方法,进而达到了精细化流量调度的效果。
需要注意的是,压测流量类型有两种,一种为经过HTTP服务器的,一种是不经过HTTP服务器的。对于经过HTTP服务器的压测流量通过精细流量调度,达到目标单机流量压力,进而完成压测任务;对于不经过HTTP服务器的内部服务之间的流量,直接采用屏蔽后端实例的方式,达到目标单机压力,进而完成压测任务。
参照图2,图2是根据本发明其中一实施例的压测系统架构示意图,如图2所示:
压测系统用以对待测试软件系统进行压力测试。压测系统中包括有数据库、配置平台、控制中心、调度中心、实例管理服务器、HTTP服务器、监控平台、各监控探针以及各服务实例。实例1、实例2、...、实例n表示各服务实例。流量探针1、流量探针2、...、流量探针n表示上述流量探针。
软件系统容量压力测试方法在压测系统中执行,具体如下:
首先,测试人员根据系统实际测试需求设定配置参数,预设的配置参数存入数据库中;控制中心从配置平台获取配置参数,根据配置参数确定压力测试任务;监控平台监测压力测试任务的执行过程,并通过流量探针获取被测试的服务实例的流量信息;控制中心利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;将流量调度信息传递到调度中心,然后通过调度中心输入到实例管理服务器中;实例管理服务器对预设权重标签进行更新得到目标权重标签,HTTP服务器获取目标权重标签,然后根据目标权重标签对不同服务实例中的预设流量权重值进行更新;基于更新后的流量权重值,HTTP服务器对压测流量进行调度完成对各个服务实例的压力测试。
需要说明的是,当实例管理服务器采用BNS,HTTP服务器采用Nginx时,对下游的服务实例的配置进行修改以实现Nginx对BNS的适配,打通BNS配置和Nginx下游服务实例配置。BNS配置和Nginx下游服务实例配置打通后可以通过BNS传递的标签修改Nginx下游服务实例的配置。
图3是根据本发明其中一实施例的流量调度信息的传递顺序示意图,包括:
首先控制中心得到流量调度信息后将流量调度信息传递到调度中心,调度中心将流量调度信息传递到实例管理服务器,实例管理服务器基于流量调度信息中的流量权重值对预设权重标签进行更新得到目标权重标签。其中,预设权重标签从服务实例中获取得到。HTTP服务器通过代理服务从实例管理服务器中获取目标权重标签。最后通过目标权重标签中的流量权重值对各个服务实例中预设流量权重值进行替换。
在图3中,实例1、实例2、...、实例n表示各服务实例;代理服务为实例管理服务器与HTTP服务器之间传送消息的中间组件。
图4是根据本发明其中一实施例的软件系统容量压力测试装置的结构框图,如图4所示,该软件系统容量压力测试装置400包括:
配置模块401,配置模块401用于根据配置参数确定待测试软件系统的压力测试任务,其中,待测试软件系统中包括多个服务实例;获取模块402,获取模块402用于监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息;分析模块403,分析模块403用于利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;调度模块404,调度模块404用于根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果;压测模块405,压测模块405用于基于调度结果对多个服务实例进行压力测试。
可选地,配置模块401中包括配置参数,配置参数至少包括:待测试服务名称、测试目标流量、测试时间和测试速度,其中,待测试服务名称用于确定压力测试任务对应的服务实例的名称,测试目标流量用于确定压力测试任务对应的流量调度预期信息,测试时间用于确定压力测试任务对应的时间信息,测试速度用于确定压力测试任务对应的测试推进速度信息。
可选地,分析模块403还用于利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息包括:模糊控制模型根据流量信息确定多个服务实例的流量权重值,其中,流量信息包括实时流量、目标流量差值和差值变化量,目标流量差值为测试目标流量与实时流量的差值,差值变化量为相邻检测时刻的两个目标流量差值的变化量;将多个服务实例的流量权重值的集合作为流量调度信息。
可选地,分析模块403还用于模糊控制模型根据流量信息确定多个服务实例的流量权重值包括:利用第一词集、第二词集和第三词集之间的映射关系,确定模糊控制规则,其中,第一词集用于确定目标流量差值的取值范围,第二词集用于确定差值变化量的取值范围,第三词集用于确定流量权重值的取值范围;根据目标流量差值、差值变化量和模糊控制规则,确定流量权重值。
可选地,调度模块404还用于根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果包括:基于流量调度信息,采用实例管理服务器对预设权重标签进行更新得到目标权重标签,预设权重标签和目标权重标签为键值对,键为流量权重,值为流量权重值;利用HTTP服务器获取目标权重标签;根据目标权重标签更新多个服务实例中的预设流量权重值;根据流量权重值调度压测流量得到调度结果,其中流量权重值为更新后的预设流量权重值。
可选地,软件系统容量压力测试装置400中的实例管理服务器基于百度名字服务构建。
可选地,获取模块402获取到的流量信息通过配置于服务实例中的流量探针得到。
本发明的实施例还提供了一种电子设备,包括至少一个处理器以及与至少一个处理器通信连接的存储器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一实施例中的步骤。
本发明的实施例还提供了一种存储有计算机指令的计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S11,根据配置参数确定待测试软件系统的压力测试任务;
步骤S12,监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息;
步骤S13,利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;
步骤S14,根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果;
步骤S15,基于调度结果完成多个服务实例的压力测试。
本发明的实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任一方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
步骤S11,根据配置参数确定待测试软件系统的压力测试任务;
步骤S12,监测压力测试任务的执行过程,获取压力测试任务执行过程中被测试的多个服务实例的流量信息;
步骤S13,利用模糊控制模型对流量信息进行分析处理,获取用于调度压测流量的流量调度信息;
步骤S14,根据压力测试任务和流量调度信息对压测流量进行调度得到调度结果;
步骤S15,基于调度结果完成多个服务实例的压力测试。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种软件系统容量压力测试方法,其特征在于,包括:
根据配置参数确定待测试软件系统的压力测试任务,其中,所述待测试软件系统中包括多个服务实例;
监测所述压力测试任务的执行过程,获取所述压力测试任务执行过程中被测试的多个所述服务实例的流量信息;
利用模糊控制模型对所述流量信息进行分析处理,获取用于调度压测流量的流量调度信息;
根据所述压力测试任务和所述流量调度信息对所述压测流量进行调度得到调度结果;
基于所述调度结果完成多个所述服务实例的压力测试。
2.根据权利要求1所述的软件系统容量压力测试方法,其特征在于,所述配置参数至少包括:待测试服务名称、测试目标流量、测试时间和测试速度,其中,所述待测试服务名称用于确定所述压力测试任务对应的所述服务实例的名称,所述测试目标流量用于确定所述压力测试任务对应的流量调度预期信息,所述测试时间用于确定所述压力测试任务对应的时间信息,所述测试速度用于确定所述压力测试任务对应的测试推进速度信息。
3.根据权利要求2所述的软件系统容量压力测试方法,其特征在于,所述利用模糊控制模型对所述流量信息进行分析处理,获取用于调度压测流量的流量调度信息包括:
所述模糊控制模型根据所述流量信息确定多个所述服务实例的流量权重值,其中,所述流量信息包括实时流量、目标流量差值和差值变化量,所述目标流量差值为所述测试目标流量与所述实时流量的差值,所述差值变化量为相邻检测时刻的两个所述目标流量差值的变化量;
将多个所述服务实例的所述流量权重值的集合作为所述流量调度信息。
4.根据权利要求3所述的软件系统容量压力测试方法,其特征在于,所述模糊控制模型根据所述流量信息确定多个所述服务实例的流量权重值包括:
利用第一词集、第二词集和第三词集之间的映射关系,确定模糊控制规则,其中,所述第一词集用于确定所述目标流量差值的取值范围,所述第二词集用于确定所述差值变化量的取值范围,所述第三词集用于确定所述流量权重值的取值范围;
根据所述目标流量差值、所述差值变化量和所述模糊控制规则,确定所述流量权重值。
5.根据权利要求3所述的软件系统容量压力测试方法,其特征在于,所述根据所述压力测试任务和所述流量调度信息对所述压测流量进行调度得到调度结果包括:
基于所述流量调度信息,采用实例管理服务器对预设权重标签进行更新得到目标权重标签,所述预设权重标签和所述目标权重标签为键值对,键为流量权重,值为所述流量权重值;
利用HTTP服务器获取所述目标权重标签;
根据所述目标权重标签更新多个所述服务实例中的预设流量权重值;
根据所述流量权重值调度所述压测流量得到所述调度结果,其中所述流量权重值为更新后的所述预设流量权重值。
6.根据权利要求1所述的软件系统容量压力测试方法,其特征在于,所述实例管理服务器基于百度名字服务构建。
7.根据权利要求1所述的软件系统容量压力测试方法,其特征在于,所述流量信息通过配置于所述服务实例中的流量探针得到。
8.一种软件系统容量压力测试装置,包括:
配置模块,所述配置模块用于根据配置参数确定待测试软件系统的压力测试任务,其中,所述待测试软件系统中包括多个服务实例;
获取模块,所述获取模块用于监测所述压力测试任务的执行过程,获取所述压力测试任务执行过程中被测试的多个所述服务实例的流量信息;
分析模块,所述分析模块用于利用模糊控制模型对所述流量信息进行分析处理,获取用于调度压测流量的流量调度信息;
调度模块,所述调度模块用于根据所述压力测试任务和所述流量调度信息对所述压测流量进行调度得到调度结果;
压测模块,所述压测模块用于基于所述调度结果对多个所述服务实例进行压力测试。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种存储有计算机指令的计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900889.3A CN115242676B (zh) | 2022-07-28 | 2022-07-28 | 软件系统容量压力测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900889.3A CN115242676B (zh) | 2022-07-28 | 2022-07-28 | 软件系统容量压力测试方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115242676A true CN115242676A (zh) | 2022-10-25 |
CN115242676B CN115242676B (zh) | 2023-10-03 |
Family
ID=83677526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210900889.3A Active CN115242676B (zh) | 2022-07-28 | 2022-07-28 | 软件系统容量压力测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115242676B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140258781A1 (en) * | 2013-03-11 | 2014-09-11 | Breakingpoint Systems, Inc. | Multi-Stage Application Layer Test Packet Generator For Testing Communication Networks |
CN107015892A (zh) * | 2017-03-30 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 一种压力测试方法、装置和系统 |
CN109325825A (zh) * | 2018-09-04 | 2019-02-12 | 口口相传(北京)网络技术有限公司 | 流量数据的调控方法及装置 |
CN110401581A (zh) * | 2019-07-22 | 2019-11-01 | 杭州电子科技大学 | 基于流量追溯的工控协议模糊测试用例生成方法 |
CN112350878A (zh) * | 2019-08-07 | 2021-02-09 | 阿里巴巴集团控股有限公司 | 一种压力测试系统 |
CN112559361A (zh) * | 2020-12-22 | 2021-03-26 | 京东数字科技控股股份有限公司 | 流量回放方法、装置、设备及计算机可读介质 |
CN112929230A (zh) * | 2021-01-22 | 2021-06-08 | 中信银行股份有限公司 | 测试处理方法、装置、电子设备及计算机可读存储介质 |
CN113934621A (zh) * | 2021-09-06 | 2022-01-14 | 中国科学院信息工程研究所 | 模糊测试方法、系统、电子设备及介质 |
CN114780286A (zh) * | 2022-03-15 | 2022-07-22 | 度小满科技(北京)有限公司 | 一种数据容灾方法、装置、设备及可读存储介质 |
-
2022
- 2022-07-28 CN CN202210900889.3A patent/CN115242676B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140258781A1 (en) * | 2013-03-11 | 2014-09-11 | Breakingpoint Systems, Inc. | Multi-Stage Application Layer Test Packet Generator For Testing Communication Networks |
CN107015892A (zh) * | 2017-03-30 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 一种压力测试方法、装置和系统 |
CN109325825A (zh) * | 2018-09-04 | 2019-02-12 | 口口相传(北京)网络技术有限公司 | 流量数据的调控方法及装置 |
CN110401581A (zh) * | 2019-07-22 | 2019-11-01 | 杭州电子科技大学 | 基于流量追溯的工控协议模糊测试用例生成方法 |
CN112350878A (zh) * | 2019-08-07 | 2021-02-09 | 阿里巴巴集团控股有限公司 | 一种压力测试系统 |
CN112559361A (zh) * | 2020-12-22 | 2021-03-26 | 京东数字科技控股股份有限公司 | 流量回放方法、装置、设备及计算机可读介质 |
CN112929230A (zh) * | 2021-01-22 | 2021-06-08 | 中信银行股份有限公司 | 测试处理方法、装置、电子设备及计算机可读存储介质 |
CN113934621A (zh) * | 2021-09-06 | 2022-01-14 | 中国科学院信息工程研究所 | 模糊测试方法、系统、电子设备及介质 |
CN114780286A (zh) * | 2022-03-15 | 2022-07-22 | 度小满科技(北京)有限公司 | 一种数据容灾方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
D. LE: "\"Environmental Stress Testing with Boundary-Scan\"", 《IEEE》 * |
许乐平: ""基于模糊测试的分布式系统测试方法研究"", 《中国优秀硕士论文全文数据库》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115242676B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sheppard et al. | IEEE standards for prognostics and health management | |
US6973415B1 (en) | System and method for monitoring and modeling system performance | |
US7693982B2 (en) | Automated diagnosis and forecasting of service level objective states | |
EP2627982B1 (fr) | Système de surveillance d'un banc d'essai de moteur d'aeronef | |
US7197428B1 (en) | Method for performance monitoring and modeling | |
US8843347B2 (en) | Method, monitoring system and computer program product for monitoring the health of a monitored system utilizing an associative memory | |
US11720820B2 (en) | Operational support system and method | |
US7369967B1 (en) | System and method for monitoring and modeling system performance | |
CN110222513B (zh) | 一种线上活动的异常监测方法、装置及存储介质 | |
CN113900845A (zh) | 一种基于神经网络的微服务故障诊断的方法和存储介质 | |
US7243265B1 (en) | Nearest neighbor approach for improved training of real-time health monitors for data processing systems | |
US11392437B1 (en) | Cold start and adaptive server monitor | |
Wang | Selecting verification and validation techniques for simulation projects: A planning and tailoring strategy | |
CN115242676A (zh) | 软件系统容量压力测试方法、装置、电子设备及存储介质 | |
US11790249B1 (en) | Automatically evaluating application architecture through architecture-as-code | |
Shepperd et al. | Metrics, outlier analysis and the software design process | |
Geara et al. | Hybrid inspection-monitoring approach for optimal maintenance planning | |
Ghazel et al. | A monitoring approach for discrete event systems based on a time Petri net model | |
US20110282824A1 (en) | Technologies for mapping a set of criteria | |
US20030097245A1 (en) | System analysis | |
Krivoulya et al. | Expert evaluation model of the computer system diagnostic features | |
WO2021126591A1 (en) | Method for physical system anomaly detection | |
US20240045414A1 (en) | Intelligent mitigation or prevention of equipment performance deficiencies | |
Honda et al. | A Bayesian Network-Based Analysis of Changing Impact of Organizational Goals on Software Development | |
CN116911991A (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 |