一种自适应压力测试的方法及装置与流程

文档序号:11063419阅读:239来源:国知局
一种自适应压力测试的方法及装置与制造工艺

本发明涉及计算机处理技术领域,尤其涉及一种自适应压力测试的方法及装置。



背景技术:

“大数据”正是新形势下技术融合型发展和应用智能化理念的集中体现,具有应对数据体量巨大、数据类型繁多、价值密度低和处理速度快的数据特征的技术架构,及以行业内外高附加值的内容增值服务为目标的应用模式,其核心就是信息资源的开发利用。随着科技的发展及大量信息系统的推广和深化应用,用户体验需求正在不断增长,在这过程中所积累的数据和服务也越来越多,趋于海量,传统的数据库已无法满足如此庞大的数据存储要求。

随着大数据平台的业务范围覆盖各类数据资源挖掘及业务创新,集成数据资源整合、计算中间件服务、智能信息处理服务,提供面向典型业务应用的智能决策分析能力。为了更好得利用大数据平台,通常压力测试来测试新系统或系统新功能的性能极限。现有的压力测试软件不但部署操作十分复杂,而且要求用户必须对该压力测试软件非常精通,人力成本要求过高。

因此,如何简化压力测试过程,进而节省人力成本成为急需解决的问题。



技术实现要素:

针对现有技术的缺陷,本发明提供了一种自适应压力测试的方法及装置,能够有效简化压力测试过程,进而节省人力成本。

第一方面,本发明提供了一种自适应压力测试的方法,该方法包括:

向被测系统中的服务器并发预设数量的请求;

检测所述服务器的多个性能指标;

根据所述请求的数量与所述性能指标,建立被测系统的压力测试模型;

根据所述被测系统的压力测试模型调整所述并发请求的数量,直至所述被测系统的压力达到极限值,并输出此时的并发请求的数量作为压力测试结果。

优选地,所述多个性能指标包括:CPU空闲率、内存占用数、请求处理速度及服务器socket连接。

优选地,所述根据所述请求的数量与所述性能指标,建立被测系统的压力测试模型,包括:

调整所述请求的数量,并检测所述多个性能指标,获得所述多个性能指标中受影响的性能指标;

根据所述受影响的性能指标与所述请求的数量间的关系,建立被测系统的压力测试模型。

优选地,所述根据所述被测系统的压力测试模型调整所述并发请求的数量,直至所述被测系统的压力达到极限值,并输出压力测试结果,包括:

调整并发请求的数量,并检测所述服务器的所述受影响的性能指标;

当所述受影响的性能指标达到极限值时,停止压力检测,并输出此时的并发请求的数量作为压力测试的结果。

优选地,所述向被测系统中的服务器并发预设数量的请求之前,该方法还包括:

输入所述被测系统中的服务器的地址及压力测试脚本;

其中,所述压力测试脚本用于向所述被测系统发送请求。

第二方面,本发明提供了一种自适应压力测试的装置,该装置包括:

请求并发单元,用于向被测系统中的服务器并发预设数量的请求;

性能检测单元,用于检测所述服务器的多个性能指标;

模型建立单元,用于根据所述请求的数量与所述性能指标,建立被测系统的压力测试模型;

压力调整单元,根据所述被测系统的压力测试模型调整所述并发请求的数量,直至所述被测系统的压力达到极限值,并输出此时的并发请求的数量作为压力测试结果。

优选地,所述多个性能指标包括:CPU空闲率、内存占用数、请求处理速度及服务器socket连接。

优选地,所述模型建立单元,用于:

调整所述请求的数量,并检测所述多个性能指标,获得所述多个性能指标中受影响的性能指标;

根据所述受影响的性能指标与所述请求的数量间的关系,建立被测系统的压力测试模型。

优选地,所述压力调整单元,用于:

调整并发请求的数量,并检测所述服务器的所述受影响的性能指标;

当所述受影响的性能指标达到极限值时,停止压力检测,并输出此时的并发请求的数量作为压力测试的结果。

优选地,该装置还包括:输入单元,用于:

输入所述被测系统中的服务器的地址及压力测试脚本;

其中,所述压力测试脚本用于向所述被测系统发送请求。

由上述技术方案可知,本发明提供了一种自适应压力测试的方法及装置,通过向被测系统并发一定数量的请求,并检测被测系统的性能指标,根据请求的数量与性能指标的变化间关系建立被测系统的压力测试模型,根据所述模型调整并发的请求的数量,直至系统的压力达到极限值,并将此事并发请求的数量作为压力测试结果。该方法能够根据压力检测自适应地调整并发请求的数量,有效地简化了压力测 试过程,进而节省了人力成本。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1是本公开一实施例提供的一种自适应压力测试的方法的流程示意图;

图2是本公开一实施例提供的一种被测系统的自适应压力测试的的示意图;

图3是本公开另一实施例提供的一种自适应压力测试的装置的结构示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

以下对本公开实施例中提及的部分词语进行举例说明。

本领域技术人员应当理解,本公开实施例中提及的自适应压力测试的方法的执行主体、自适应压力测试的装置均可以为服务器,服务器既可以代表如计算机服务器的单个服务器,也可以代表一起工作以执行功能的多个服务器,例如云服务器hadoop。

图1示出了本公开一实施例提供的一种自适应压力测试的方法的流程示意图,如图1所示,该方法包括如下步骤:

S1:向被测系统中的服务器并发预设数量的请求。

具体来说,可设置多个发压单元,控制发压单元的数量以控制并发的请求数量。则可根据一个多次测试的经验值来启动发压单元。例如,1个发压单元产生10个请求每秒,则系统初始启动5个发压单元,就相当于并发50个请求每秒。

如图2所示的一种被测系统的自适应压力测试的示意图,通过若干个发压单向被测系统并发多个请求。

S2:检测所述服务器的多个性能指标。

其中,所述多个性能指标包括:CPU空闲率、内存占用数、请求处理速度及服务器socket连接等等。

具体来说,对被测系统中指定的多个模块的多个性能指标进行实时监控。如图2所示,对系统接口模块、存储模块、计算模块等多个模块的多个性能指标进行监控,并将监控的性能指标数据反馈以进行压力分析。

S3:根据所述请求的数量与所述性能指标,建立被测系统的压力测试模型。

具体来说,压力分析主要是根据请求的数量及性能指标的变化,获得其中受请求的数量影响的性能指标,并将该性能指标作为衡量被测系统的压力的标准,从而根据该性能指标建立压力测试模型。

S4:根据所述被测系统的压力测试模型调整所述并发请求的数量,直至所述被测系统的压力达到极限值,并输出此时的并发请求的数量作为压力测试结果。

其中,所述被测系统的压力达到极限值是指:上述被测系统的某一性能指标达到极限。如图2所示,根据压力分析的结果调整发压单元的个数,直至被测系统的某一性能指标达到极限。当被测系统的某一性能指标达到极限时,此时发压单元的个数即为压力测试的结果。

由此可见,本实施例提供了一种自适应压力测试的方法,通过向被测系统并发一定数量的请求,并检测被测系统的性能指标,根据请求的数量与性能指标的变化间关系建立被测系统的压力测试模型,根 据所述模型调整并发的请求的数量,直至系统的压力达到极限值,并将此事并发请求的数量作为压力测试结果。该方法能够根据压力检测自适应地调整并发请求的数量,有效地简化了压力测试过程,进而节省了人力成本。

需要说明的是,步骤S1之前,该方法还包括如下步骤:

S0:输入所述被测系统中的服务器的地址及压力测试脚本。

其中,所述压力测试脚本用于向所述被测系统发送请求。

具体来说,测试开始时,需输入被测系统的服务器的地址,便于监控对应的服务器。而且发压单元通过调用该压力测试脚本向被测系统发送请求。

举例来说,被测系统是一个接口服务,用于将请求以消息的方式插入一个消息队列并返回。则将压力测试脚本输入系统,并指定被测服务器A和B(即输入指定服务器A和B的地址),A是web接口服务,B是消息服务队列。

本实施例中,步骤S3中的根据所述请求的数量与所述性能指标,建立被测系统的压力测试模型,具体包括如下步骤:

S31:调整所述请求的数量,并检测所述多个性能指标,获得所述多个性能指标中受影响的性能指标。

举例来说,系统启动一个1个发压单元,请求并发是50个每秒,性能监控服务器得到:CPU空闲(cpu idle)是99,系统内存占用5G,服务器socket连接100,此时系统自适应加大压力,发压单元变为2个,性能监控得到cpu idle还是99,系统内存占用5G,服务器socket连接达到150,这样系统分析被测系统的模型,受影响指标是socket连接数,这样再调整发压单元的数量会根据socket连接数来作为依据。

S32:根据所述受影响的性能指标与所述请求的数量间的关系建立被测系统的压力测试模型。

举例来说,可根据socket连接数来作为依据调整发压单元的数量。

本实施例中,步骤S4中根据所述被测系统的压力测试模型调整所 述并发请求的数量,直至所述被测系统的压力达到极限值,并输出压力测试结果,具体包括如下步骤:

S41:调整并发请求的数量,并检测所述服务器的所述受影响的性能指标。

举例来说,受影响的性能指标是socket连接数,则不断地调整并发请求的数量,同时检测socket连接数。

S42:当所述受影响的性能指标达到极限值时,停止压力检测,并输出此时的并发请求的数量作为压力测试的结果。

举例来说,通过多次调整后发现并发单元数再增加,但是被测系统A的每秒处理请求数达到10000后不再增加,被测系统socket连接数也不再增多,说明这时被测系统达到一个性能极限。压力测试停止,并输出压力测试的结果。

由此可见,本实施例基于性能指标的实时监控可自适应地调整并发请求的数量,从而对系统的压力进行测试。该方法测试效率高,且无需人工操作。

图3示出了本公开一实施例提供的一种自适应压力测试的装置的结构示意图,如图3所示,该装置包括请求并发单元301、性能检测单元302、模型建立单元303及压力调整单元304。其中:

请求并发单元301,用于向被测系统中的服务器并发预设数量的请求;

性能检测单元302,用于检测所述服务器的多个性能指标;

模型建立单元303,用于根据所述请求的数量与所述性能指标,建立被测系统的压力测试模型;

压力调整单元304,根据所述被测系统的压力测试模型调整所述并发请求的数量,直至所述被测系统的压力达到极限值,并输出此时的并发请求的数量作为压力测试结果。

本实施例中,所述多个性能指标包括:CPU空闲率、内存占用数、请求处理速度及服务器socket连接。

本实施例中,所述模型建立单元303,用于:

调整所述请求的数量,并检测所述多个性能指标,获得所述多个性能指标中受影响的性能指标;

根据所述受影响的性能指标与所述请求的数量间的关系建立被测系统的压力测试模型。

本实施例中,所述压力调整单元304,用于:

调整并发请求的数量,并检测所述服务器的所述受影响的性能指标;

当所述受影响的性能指标达到极限值时,停止压力检测,并输出此时的并发请求的数量作为压力测试的结果。

本实施例中,该装置还包括输入单元,用于:

输入所述被测系统中的服务器的地址及压力测试脚本;

其中,所述压力测试脚本用于向所述被测系统发送请求。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

应当注意的是,在本公开的系统的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本公开不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。

本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开实施例的系统中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上实施方式仅适于说明本公开,而并非对本公开的限制,有关技术领域的普通技术人员,在不脱离本公开的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本公开的范畴,本公开的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1