CN107015892B - 一种压力测试方法、装置和系统 - Google Patents
一种压力测试方法、装置和系统 Download PDFInfo
- Publication number
- CN107015892B CN107015892B CN201710203394.4A CN201710203394A CN107015892B CN 107015892 B CN107015892 B CN 107015892B CN 201710203394 A CN201710203394 A CN 201710203394A CN 107015892 B CN107015892 B CN 107015892B
- Authority
- CN
- China
- Prior art keywords
- pressure measurement
- target object
- pressure
- measurement result
- preset
- 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
Images
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
-
- 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/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种压力测试方法、装置和系统;本发明实施例可以获取压测任务,根据压测任务确定当前需要进行压力测试的对象,得到目标对象,在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标,在性能指标达到预设瓶颈值时,统计压测结果,然后,返回执行获取压测任务的操作,直至压测任务均测试完毕;该方案不仅实现简便,具有较高适用性,而且,还可以大大提高测试的全面性和准确性。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种压力测试方法、装置和系统。
背景技术
随着通信技术的发展,网络服务的种类也越来越为繁多,为了可以为用户提供更好的网络服务,需要对相应设备的性能,比如中央处理器(CPU,Central ProcessingUnit)、内存、磁盘、服务器每秒查询率(QPS,Query Per Second)、以及请求延时等进行测试,其中,该测试称为压力测试,简称压测。
现有技术的压力测试方案,一般需要针对具体服务人为搭建压力测试环境,然后,基于该服务的协议编写压力测试工具,并在该搭建的压力测试环境下,通过该压力测试工具不断向该服务对应的设备发送请求,直至该设备出现性能瓶颈,从而获得测试结果。
在对现有技术的研究和实践过程中,本发明的发明人发现,由于现有方案需要针对不同的服务搭建不同的测试环境、开发不同的测试工具、以及在测试过程中需要人工进行干预,因此,不仅实现较为复杂,而且适用性也较差;另外,由于测试环境为非生产环境,所以,测试结果也不够全面和准确。
发明内容
本发明实施例提供一种压力测试方法、装置和系统,测试过程无需人工干预,不仅实现简便,具有较高适用性,而且,还可以大大提高测试的全面性和准确性。
本发明实施例提供一种压力测试方法,包括:
获取压测任务;
根据所述压测任务确定当前需要进行压力测试的对象,得到目标对象;
在预设时长内将现网流量导向所述目标对象,并采集所述目标对象的各项性能指标;
在性能指标达到预设瓶颈值时,统计压测结果;
返回执行获取压测任务的步骤,直至压测任务均测试完毕。
本发明实施例还提供一种压力测试装置,包括:
获取单元,用于获取压测任务;
确定单元,用于根据所述压测任务确定当前需要进行压力测试的对象,得到目标对象;
处理单元,用于在预设时长内将现网流量导向所述目标对象,并采集所述目标对象的各项性能指标;
统计单元,用于在性能指标达到预设瓶颈值时,统计压测结果,并触发确定单元执行获取压测任务的操作,直至压测任务均测试完毕。
此外,本发明实施例还提供一种压力测试系统,包括本发明实施例所提供的任一种压力测试装置。
本发明实施例可以获取压测任务,根据压测任务确定当前需要进行压力测试的对象,得到目标对象,在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标,在性能指标达到预设瓶颈值时,统计压测结果,然后,返回执行获取压测任务的操作,直至压测任务均测试完毕,从而实现对压测任务中各个对象进行自动压测的目的;由于该方案对所有服务都通用,且测试过程无需人工干预,因此,不仅实现简便,而且适用性也较高;另外,由于该方案使用了真实的现网流量进行压测,所以,相对于现有方案而言,也可以大大提高测试的全面性和准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的压力测试方法的场景示意图;
图1b是本发明实施例提供的压力测试方法的流程图;
图2是本发明实施例提供的压力测试方法的另一流程图;
图3a是本发明实施例提供的压力测试装置的结构示意图;
图3b是本发明实施例提供的压力测试装置的另一结构示意图;
图4是本发明实施例提供的调度服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种压力测试方法、装置和系统。
其中,该压力测试系统可以包括本发明实施例所提供的任一种压力测试装置,该压力测试装置具体可以集成在服务器,如调度服务器等设备中。可选的,该压力测试系统还可以包括其他的设备,比如可以包括应用服务器或业务服务器等设备,主要用于接受调度服务器压测。
例如,参见图1a,以该压力测试装置具体集成在调度服务器为例,该调度服务器可以获取压测任务,根据该压测任务确定当前需要进行压力测试的对象,比如应用服务器A,然后,在预设时长内将现网流量导向该对象如应用服务器A,并采集应用服务器A的各项性能指标,比如,可以向应用服务器A发送关于获取各项在性能指标的请求,并接收应用服务器A返回的各项性能指标,等等,然后,在性能指标达到预设瓶颈值时,统计压测结果,可选的,还可以根据将该压测结果与历史压测结果进行比对,以及生成压测报告,以发送给预设的联系人。在对应用服务器A进行压测完毕之后,该调度服务器还可以获取下一个压测任务,继续对其他的设备,比如对业务服务器B以同样的流程进行压测,直至压测任务均压测完毕。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
实施例一、
本实施例将从压力测试装置的角度进行描述,该压力测试装置具体可以集成在服务器,比如调度服务器等设备中。
一种压力测试方法,包括:获取压测任务,根据该压测任务确定当前需要进行压力测试的对象,得到目标对象,在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标,在性能指标达到预设瓶颈值时,统计压测结果,返回执行获取压测任务的步骤,直至压测任务均测试完毕。
如图1b所示,该压力测试方法的具体流程可以如下:
101、获取压测任务。
例如,具体可以从本地存储空间或其他设备中读取该压测任务。
其中,该压测任务可以根据实际应用的需求进行预设,具体可以指示至少一个压测服务对象集合,以及指示每一个压测服务对象集合对应的压测内容(即压力测试的内容)。
其中,每个压测服务对象集合中可以包括多个对象的标识,比如设备的名称、和/或网际协议(IP,Internet Protocol)地址等。而压测内容则可以包括CPU使用率、内存使用率、磁盘使用率、设备(比如服务器)每秒查询率、和/或请求延时等。
102、根据该压测任务确定当前需要进行压测的对象,得到目标对象;例如,具体可以如下:
根据该压测任务获取压测服务对象集合,从该压测服务对象集合中确定当前需要进行压测的对象,得到目标对象。
比如,以该需要进行压测的对象的标识为IP地址为例,则此时,根据该压测任务获取需要进行压测的设备的IP列表,从该IP列表中选择一个IP地址作为目标对象。
需说明的是,由于同一压测服务对象集合中的对象(比如同一IP列表中的设备)的性能都类似,因此,只要能够获知其中一个对象的性能,便可得到该压测服务对象集合其他对象的性能,所以,对于每一个压测服务对象集合,只需从中选取一个对象进行压测即可。
103、在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标。
例如,具体可以采集该目标对象的CPU使用率、内存使用率、磁盘使用率、设备(比如服务器)每秒查询率、和/或请求延时等性能指标。
其中,该预设时长可以根据实际应用的需求进行设置,比如,可以设置为1个钟头,或两个钟头,等等。
可选的,将现网流量导向该目标对象的方式可以有多种,比如,可以通过增加该目标对象的流量权重来实现,等等,即步骤“在预设时长内将现网流量导向该目标对象”可以包括:
在预设时长内增加该目标对象的流量权重,以将现网流量导向该目标对象,具体可以如下:
利用负载均衡技术增加该目标对象的流量权重,以将现网流量导向该目标对象,并统计压测时长,在压测时长超过预设时长时,恢复该目标对象的流量权重。
其中,统计压测时长的方式可以有多种,比如,可以利用定时器或计时器来统计该压测时长等等。
需说明的是,本发明实施例的“现网流量”指的是现有网络中真实用户的流量,包括上行数据流量和下行数据流量,其中,上行数据流量可以包括用户的请求等数据所产生的流量,下行数据流量可以包括向用户发送数据等行为所产生的流量,在此不再赘述。
104、在性能指标达到预设瓶颈值时,统计压测结果。例如,具体可以如下:
在CPU使用率达到预设瓶颈值时,根据压测算法生成关于中央处理器使用率的压测结果;和/或,
在内存使用率达到预设瓶颈值时,根据压测算法生成关于内存使用率的压测结果;和/或,
在磁盘使用率达到预设瓶颈值时,根据压测算法生成关于磁盘使用率的压测结果;和/或,
在设备每秒查询率达到预设瓶颈值时,根据压测算法生成关于设备每秒查询率的压测结果;和/或,
在请求延时达到预设瓶颈值时,根据压测算法生成关于请求延时的压测结果,等等。
其中,压测算法可以根据实际应用的需求而定,在此不再赘述。
在得到该目标对象的压测结果之后,可以采用同样的方式对其他压测任务中需要进行压测的对象进行压测,即可以返回执行获取压测任务的步骤(即返回执行步骤101),直至压测任务中均测试完毕。
需说明的是,若在该预设时长内,若某项或某几项性能指标未能达到瓶颈值,则可以直接统计对其相应的压测结果进行统计,即可选的,在步骤“在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标”之后,该压力测试方法还可以包括:
在压测时长超过预设时长时,执行统计压测结果的步骤。
此外,为了便于用户更好地了解该设备的性能,在得到当前的压测结果之后,还可以将该压测结果与历史压测结果,比如上一次压测结果进行比较,即可选的,在步骤“统计压测结果”之后,该压力测试方法还可以包括:
获取历史压测结果,将压测结果与历史压测结果进行比对,得到比对结果。
其中,该历史压测结果指的是过去预设时间范围内进行压力测试所得到的压测结果。该预设时间范围可以根据实际应用的需求而定,比如,可以设置该历史压测结果为上一次压测的压测结果,或者,设置该历史压测结果为前几次压测结果的均值,等等,在此不再赘述。
可选的,为了便于维护人员及时获取中该压测结果,在统计压测结果之后,除了可以保存该压测结果之外,还可以根据该压测结果生成压测报告,并将该压测报告发送给预设联系人,比如通过即时通讯信息、或邮件的方式发送给预设联系人,等等。
可选的,在该压测报告中,还可以包括其他的信息,比如该压测结果与历史压测结果的比对结果,和/或设备性能的修复或改善建议,等等,在此不再赘述。
由上可知,本实施例可以获取压测任务,根据压测任务确定当前需要进行压力测试的对象,得到目标对象,在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标,在性能指标达到预设瓶颈值时,统计压测结果,然后,返回执行获取压测任务的操作,直至压测任务均测试完毕,从而实现对压测任务中各个对象进行自动压测的目的;由于该方案对所有服务都通用,且测试过程无需人工干预,因此,不仅实现简便,而且适用性也较高;另外,由于该方案使用了真实的现网流量进行压测,所以,相对于现有方案而言,也可以大大提高测试的全面性和准确性。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该压力测试装置具体集成在调度服务器中,且压测服务对象集合具体为IP列表为例进行说明。
如图2所示,一种压力测试方法,具体流程可以如下:
201、调度服务器获取压测任务。
例如,调度服务器具体可以从本地存储空间或其他设备中读取该压测任务。
其中,该压测任务可以根据实际应用的需求进行预设,具体可以指示至少一个压测服务对象集合,以及指示每一个压测服务对象集合对应的压测内容。
其中,每个压测服务对象集合中可以包括多个对象的标识,比如设备的名称、和/或IP地址等。而压测内容则可以包括CPU使用率、内存使用率、磁盘使用率、设备(比如服务器)每秒查询率、和/或请求延时等。
202、调度服务器根据该压测任务获取IP列表,从该IP列表中选择一个IP地址作为目标对象。
例如,若该IP列表中包括应用服务器A的IP地址、应用服务器B的IP地址、以及应用服务器C的IP地址等,则此时,具体可以按照预设的选择策略,比如,按IP列表从上到下的顺序选择一个IP地址,如应用服务器A的IP地址作为目标对象,等等。
其中,该选择策略可以根据实际应用的需求进行设置,在此不再赘述。
203、调度服务器利用负载均衡技术增加该目标对象的流量权重,以将现网流量导向该目标对象,并统计压测时长。
例如,若在步骤203中,选择了应用服务器A的IP地址作为目标对象,则此时,调度服务器可以利用负载均衡技术,增加该IP地址(即应用服务器A的IP地址)的流量权重,使得现网中的用户流量倾向于应用服务器A。
又例如,若在在步骤203中,选择了应用服务器B的IP地址作为目标对象,则此时,调度服务器可以利用负载均衡技术,增加应用服务器B的IP地址的流量权重,使得现网中的用户流量倾向于应用服务器B,以此类推,等等。
其中,增加流量权重的幅度可以根据实际应用的需求而定,比如,可以采用在预设时长内递增的形式,或者,也可以采用每隔一段时间,按照预设幅度增加一次(如一次增加0.1或0.2等),等等,在此不再赘述。
需说明的是,本发明实施例的“现网流量”指的是现有网络中真实用户的流量,包括上行数据流量和下行数据流量,其中,上行数据流量可以包括用户的请求等数据所产生的流量,下行数据流量可以包括向用户发送数据等行为所产生的流量,在此不再赘述。
此外,还需说明的是,统计压测时长的方式可以有多种,比如,可以利用定时器或计时器来统计该压测时长等等,在此不再赘述。
204、调度服务器采集该目标对象的各项性能指标。
例如,调度服务器可以向该目标对象发送关于获取各项性能指标的请求,并接收该目标对象根据该请求返回的各项性能指标,比如CPU使用率、内存使用率、磁盘使用率、设备(比如服务器)每秒查询率、和/或请求延时等。
205、调度服务器确定性能指标是否达到预设瓶颈值,若是,则执行步骤207,若否,则执行步骤206。
例如,以CPU使用率为例,在调度服务器获取到CPU使用率之后,可以判断该CPU使用率是否达到预设的CPU使用率的瓶颈值,若已达到,则执行步骤207,即对该CPU使用率对应的压测结果进行统计,否则,若未达到,则执行步骤206。
又例如,以内存使用率为例,在调度服务器获取到内存使用率之后,可以判断该内存使用率是否达到预设的内存使用率的瓶颈值,若已达到,则执行步骤207,即对该内存使用率对应的压测结果进行统计,否则,若未达到,则执行步骤206,等等。
同理,其他性能指标与此类似,在此不再赘述。
206、调度服务器确定压测时长是否大于预设时长,若是,则执行步骤207;若否,则返回执行步骤203。
其中,该预设时长可以根据实际应用的需求进行设置,比如,可以设置为1个小时,或两个小时,等等。
例如,以预设时长为两个小时为例,调度服务器可以确定当前的压测时长是否超过两个小时,若已超过,则表明压测完成,因此,可以执行步骤207,而若未超过,则表明压测尚未完成,需要继续进行压测,所以,此时可以继续增加该目标对象的流量权重,即回执行步骤203。
207、调度服务器统计压测结果,并保存该压测结果。例如,具体可以如下:
在CPU使用率达到预设瓶颈值或压测时长大于预设时长时,根据压测算法生成关于中央处理器使用率的压测结果;和/或,
在内存使用率达到预设瓶颈值或压测时长大于预设时长时,根据压测算法生成关于内存使用率的压测结果;和/或,
在磁盘使用率达到预设瓶颈值或压测时长大于预设时长时,根据压测算法生成关于磁盘使用率的压测结果;和/或,
在设备每秒查询率达到预设瓶颈值或压测时长大于预设时长时,根据压测算法生成关于设备每秒查询率的压测结果;和/或,
在请求延时达到预设瓶颈值或压测时长大于预设时长时,根据压测算法生成关于请求延时的压测结果,等等。
其中,压测算法可以根据实际应用的需求而定,在此不再赘述。
可选的,为了便于用户更好地了解该设备的性能,在得到当前的压测结果之后,还可以将该压测结果与历史压测结果,比如上一次压测结果进行比较,即在步骤“统计压测结果”之后,还可以执行步骤208,如下:
208、调度服务器获取历史压测结果,将压测结果与历史压测结果进行比对,得到比对结果。
其中,该历史压测结果指的是过去预设时间范围内进行压力测试所得到的压测结果。该预设时间范围可以根据实际应用的需求而定,比如,可以设置该历史压测结果为上一次压测的压测结果,或者,设置该历史压测结果为前几次压测结果的均值,等等,在此不再赘述。
可选的,为了便于维护人员及时获取中该压测结果,在统计压测结果之后,还可以根据该压测结果生成压测报告,并发送给预设联系人,即该压力测试方法还可以包括步骤209,如下:
209、调度服务器根据该压测结果生成压测报告,将该压测报告发送给预设联系人。
比如,具体可以通过即时通讯信息、或邮件的方式,将该压测报告发送给预设联系人,等等。
可选的,在该压测报告中,还可以包括其他的信息,比如该压测结果与历史压测结果的比对结果,和/或设备性能的修复或改善建议,等等,在此不再赘述。
210、调度服务器恢复该目标对象的流量权重,并返回执行步骤201,即返回执行获取压测任务的步骤,直至所有压测任务均测试完毕。
例如,若在步骤202中,选择了应用服务器A的IP地址作为目标对象,且在步骤203中,将该IP地址对应的流量权重从原有的0.1增加至0.5,则此时,可以恢复应用服务器A的IP地址的流量权重,比如,恢复至原有的0.1,等等,然后,获取另一个压测任务,并根据该另一个压测任务获取对应的IP列表,从该IP列表中选择一个IP地址,如应用服务器B的IP地址作为目标对象,以继续进行压测,以此类推,直至将所有压测任务中均执行完毕。
需说明的是,步骤208和210的执行顺序可以不分先后。
由上可知,本实施例可以获取压测任务,根据压测任务确定当前需要进行压测的对象,并利用负载均衡技术增加该对象的流量权重,以将现网流量导向该对象,然后,采集该对象的各项性能指标,在性能指标达到预设瓶颈值或压测时长大于预设时长时,统计压测结果,从而实现对压测任务中各个对象进行自动压测的目的;由于该方案对所有服务都通用,且测试过程无需人工干预,因此,不仅实现简便,而且适用性也较高;另外,由于该方案使用了真实的现网流量进行压测,所以,相对于现有方案而言,也可以大大提高测试的全面性和准确性。
可选的,由于该方案可以将压测结果与历史压测结果进行比对,且可以自动生成压测报告并发送给预设联系人,因此,相对于现有方案而言,不仅可以大大提高其灵活性、以及操作的便利性,而且,还可以更有效地对设备性能变化进行跟踪,有利于后续对设备性能进行改善。
实施例三、
为了更好地实施方法,本发明实施例还提供一种压力测试装置,如图3a所示,该压力测试装置可以包括获取单元301、确定单元302、处理单元303和统计单元304,如下:
(1)获取单元301;
获取单元301,用于获取压测任务。
例如,该获取单元301,具体可以用于从本地存储空间或其他设备中读取该压测任务。
其中,该压测任务可以根据实际应用的需求进行预设,具体可以指示至少一个压测服务对象集合,以及指示每一个压测服务对象集合对应的压测内容。
其中,每个压测服务对象集合中可以包括多个对象的标识,比如设备的名称、和/或IP地址等。而压测内容则可以包括CPU使用率、内存使用率、磁盘使用率、设备(比如服务器)每秒查询率、和/或请求延时等。
(2)确定单元302;
确定单元302,用于根据该压测任务确定当前需要进行压力测试的对象,得到目标对象。
例如,该确定单元302,具体可以用于根据该压测任务获取压测服务对象集合,从该压测服务对象集合中确定当前需要进行压力测试的对象,得到目标对象。
比如,以该需要进行压测的对象的标识为IP地址为例,则此时,确定单元302可以根据该压测任务获取需要进行压测的设备的IP列表,从该IP列表中选择一个IP地址作为目标对象。
(3)处理单元303;
处理单元303,用于在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标。
例如,该处理单元,具体可以用于采集该目标对象中央处理器使用率、内存使用率、磁盘使用率、设备每秒查询率、和/或请求延时等性能指标。
其中,该预设时长可以根据实际应用的需求进行设置,比如,可以设置为1个钟头,或两个钟头,等等。
可选的,将现网流量导向该目标对象的方式可以有多种,比如,可以通过增加该目标对象的流量权重来实现,即:
该处理单元303,具体可以用于在预设时长内增加该目标对象的流量权重,以将现网流量导向该目标对象,具体可以如下:
利用负载均衡技术增加该目标对象的流量权重,以将现网流量导向该目标对象,并统计压测时长,在压测时长超过预设时长时,恢复该目标对象的流量权重。
其中,统计压测时长的方式可以有多种,比如,可以利用定时器或计时器来统计该压测时长等等。
(4)统计单元304;
统计单元304,用于在性能指标达到预设瓶颈值时,统计压测结果,并触发获取单元301执行获取压测任务的操作,直至压测任务均测试完毕。
例如,以性能指标包括CPU使用率、内存使用率、磁盘使用率、设备(比如服务器)每秒查询率、和/或请求延时为例,该统计单元304,具体可以用于执行如下操作:
在CPU使用率达到预设瓶颈值时,根据压测算法生成关于中央处理器使用率的压测结果;和/或,
在内存使用率达到预设瓶颈值时,根据压测算法生成关于内存使用率的压测结果;和/或,
在磁盘使用率达到预设瓶颈值时,根据压测算法生成关于磁盘使用率的压测结果;和/或,
在设备每秒查询率达到预设瓶颈值时,根据压测算法生成关于设备每秒查询率的压测结果;和/或,
在请求延时达到预设瓶颈值时,根据压测算法生成关于请求延时的压测结果,等等。
其中,压测算法可以根据实际应用的需求而定,在此不再赘述。
需说明的是,若在该预设时长内,若某项或某几项性能指标未能达到瓶颈值,则可以直接统计对其相应的压测结果进行统计,即可选的,该统计单元304,还可以用于在压测时长超过预设时长时,执行统计压测结果的操作。
此外,可选的,为了便于用户更好地了解该设备的性能,在得到当前的压测结果之后,还可以将该压测结果与历史压测结果,比如上一次压测结果进行比较,即如图3b所示,该压力测试还可以包括比较单元305,如下:
该获取单元301,还可以用于获取历史压测结果,该历史压测结果为过去预设时间范围内进行压力测试所得到的压测结果;
该比较单元305,可以用于将压测结果与历史压测结果进行比对,得到比对结果。
可选的,为了便于维护人员及时获取中该压测结果,在统计压测结果之后,除了可以保存该压测结果之外,统计单元304还可以根据该压测结果生成压测报告,并将该压测报告发送给预设联系人,比如通过即时通讯信息、或邮件的方式发送给预设联系人,等等。
可选的,在该压测报告中,还可以包括其他的信息,比如该压测结果与历史压测结果的比对结果,和/或设备性能的修复或改善建议,等等,在此不再赘述。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个单元的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例的压力测试装置的获取单元301可以获取压测任务,然后,由确定单元302根据压测任务确定当前需要进行压力测试的对象,得到目标对象,并由处理单元303在预设时长内将现网流量导向该目标对象,以采集该目标对象的各项性能指标,在性能指标达到预设瓶颈值时,由统计单元304统计压测结果,然后,触发获取单元301执行获取压测任务的操作,直至压测任务均测试完毕,从而实现对压测任务中各个对象进行自动压测的目的;由于该方案对所有服务都通用,且测试过程无需人工干预,因此,不仅实现简便,而且适用性也较高;另外,由于该方案使用了真实的现网流量进行压测,所以,相对于现有方案而言,也可以大大提高测试的全面性和准确性。
实施例四、
相应的,本发明实施例还提供一种压力测试系统,包括本发明实施例所提供的任一种压力测试装置,其中,该压力测试装置具体可以集成在服务器,如调度服务器等设备中,例如,可以如下:
调度服务器,用于获取压测任务,根据该压测任务确定当前需要进行压力测试的对象,得到目标对象,在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标,在性能指标达到预设瓶颈值时,统计压测结果,返回执行获取压测任务的步骤,直至压测任务均测试完毕。
例如,该调度服务器,具体可以用于根据该压测任务获取压测服务对象集合,从该压测服务对象集合中确定当前需要进行压测的对象,得到目标对象,在预设时长内增加该目标对象的流量权重,以将现网流量导向该目标对象。
其中,该性能指标可以包括CPU使用率、内存使用率、磁盘使用率、设备(比如服务器)每秒查询率、和/或请求延时等参数。
可选的,若在该预设时长内,若某项或某几项性能指标未能达到瓶颈值,则可以直接统计对其相应的压测结果进行统计,即:
该调度服务器,还可以用于在压测时长超过预设时长时,执行统计压测结果的步骤。
此外,为了便于用户更好地了解该设备的性能,在得到当前的压测结果之后,还可以将该压测结果与历史压测结果,比如上一次压测结果进行比较,即:
该调度服务器,还可以用于获取历史压测结果,将压测结果与历史压测结果进行比对,得到比对结果。
可选的,为了便于维护人员及时获取中该压测结果,在统计压测结果之后,除了可以保存该压测结果之外,还可以根据该压测结果生成压测报告,并发送给预设联系人,即:
该调度服务器,还可以用于根据该压测结果生成压测报告,并将该压测报告发送给预设联系人,比如通过即时通讯信息、或邮件的方式发送给预设联系人,等等。
可选的,该压力测试系统还可以包括其他的设备,比如包括应用(或业务)服务器,如下:
应用服务器,用于接受调度服务器压测,比如,可以接收调度服务器发送的关于获取各项在性能指标的请求,获取本地(即应用服务器)的各项性能指标,并向调度服务器返回各项性能指标。
以上各个设备的具体实施可参见前面的实施例,在此不再赘述。
由于该压力测试系统可以包括本发明实施例所提供的任一种压力测试装置,因此,可以实现本发明实施例所提供的任一种压力测试装置所能实现的有益效果,详见前面的实施例,在此不再赘述。
实施例五、
本发明实施例还提供一种调度服务器,如图4所示,其示出了本发明实施例所涉及的调度服务器的结构示意图,具体来讲:
该调度服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的调度服务器结构并不构成对调度服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该调度服务器的控制中心,利用各种接口和线路连接整个调度服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行调度服务器的各种功能和处理数据,从而对调度服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据调度服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
调度服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该调度服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,调度服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,调度服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取压测任务,根据该压测任务确定当前需要进行压力测试的对象,得到目标对象,在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标,在性能指标达到预设瓶颈值时,统计压测结果,返回执行获取压测任务的步骤,直至压测任务均测试完毕。
例如,具体可以根据该压测任务获取压测服务对象集合,从该压测服务对象集合中确定当前需要进行压测的对象,得到目标对象,在预设时长内增加该目标对象的流量权重,以将现网流量导向该目标对象。
其中,该性能指标可以包括CPU使用率、内存使用率、磁盘使用率、设备每秒查询率、和/或请求延时等参数。
可选的,若在该预设时长内,若某项或某几项性能指标未能达到瓶颈值,则可以直接统计对其相应的压测结果进行统计,即该存储在存储器402中的应用程序,还可以实现如下功能:
在压测时长超过预设时长时,触发执行统计压测结果的操作。
此外,为了便于用户更好地了解该设备的性能,在得到当前的压测结果之后,还可以将该压测结果与历史压测结果,比如上一次压测结果进行比较,即该存储在存储器402中的应用程序,还可以实现如下功能:
获取历史压测结果,将压测结果与历史压测结果进行比对,得到比对结果。
可选的,为了便于维护人员及时获取中该压测结果,在统计压测结果之后,除了可以保存该压测结果之外,还可以根据该压测结果生成压测报告,并发送给预设联系人,即该存储在存储器402中的应用程序,还可以实现如下功能:
根据该压测结果生成压测报告,并将该压测报告发送给预设联系人,比如通过即时通讯信息、或邮件的方式发送给预设联系人,等等。
以上各个操作具体可参见前面的实施例,在此不再赘述。
由上可知,本实施例的调度服务器可以获取压测任务,根据压测任务确定当前需要进行压力测试的对象,得到目标对象,在预设时长内将现网流量导向该目标对象,并采集该目标对象的各项性能指标,在性能指标达到预设瓶颈值时,统计压测结果,然后,返回执行获取压测任务的操作,直至压测任务均测试完毕,从而实现对压测任务中各个对象进行自动压测的目的;由于该方案对所有服务都通用,且测试过程无需人工干预,因此,不仅实现简便,而且适用性也较高;另外,由于该方案使用了真实的现网流量进行压测,所以,相对于现有方案而言,也可以大大提高测试的全面性和准确性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种压力测试方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (17)
1.一种压力测试方法,其特征在于,包括:
获取压测任务;
根据所述压测任务确定当前需要进行压力测试的对象,得到目标对象;
在预设时长内将现网流量导向所述目标对象,并采集所述目标对象的各项性能指标;其中所述现网流量是指现有网络中真实用户的流量,包括上行数据流量和下行数据流量,上行数据流量包括用户的请求数据所产生的流量,下行数据流量包括向用户发送数据行为所产生的流量;
在性能指标达到预设瓶颈值时,统计压测结果;
返回执行获取压测任务的步骤,直至压测任务均测试完毕。
2.根据权利要求1所述的方法,其特征在于,所述根据所述压测任务确定当前需要进行压力测试的对象,得到目标对象,包括:
根据所述压测任务获取压测服务对象集合;
从所述压测服务对象集合中确定当前需要进行压力测试的对象,得到目标对象。
3.根据权利要求1所述的方法,其特征在于,所述在预设时长内将现网流量导向所述目标对象,包括:
在预设时长内增加所述目标对象的流量权重,以将现网流量导向所述目标对象。
4.根据权利要求3所述的方法,其特征在于,所述在预设时长内增加所述目标对象的流量权重,以将现网流量导向所述目标对象,包括:
利用负载均衡技术增加所述目标对象的流量权重,以将现网流量导向所述目标对象,并统计压测时长;
在压测时长超过预设时长时,恢复所述目标对象的流量权重。
5.根据权利要求4所述的方法,其特征在于,还包括:
在压测时长超过预设时长时,执行统计压测结果的步骤。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述采集所述目标对象的各项性能指标,包括:
采集所述目标对象的中央处理器使用率、内存使用率、磁盘使用率、设备每秒查询率、和请求延时中的一个或多个构成的组合。
7.根据权利要求6所述的方法,其特征在于,所述在性能指标达到预设瓶颈值时,统计压测结果,包括:
在中央处理器使用率达到预设瓶颈值时,根据压测算法生成关于中央处理器使用率的压测结果;在内存使用率达到预设瓶颈值时,根据压测算法生成关于内存使用率的压测结果;在磁盘使用率达到预设瓶颈值时,根据压测算法生成关于磁盘使用率的压测结果;在设备每秒查询率达到预设瓶颈值时,根据压测算法生成关于设备每秒查询率的压测结果;和在请求延时达到预设瓶颈值时,根据压测算法生成关于请求延时的压测结果中的一个或多个压测结果构成的组合。
8.根据权利要求1至5任一项所述的方法,其特征在于,所述统计压测结果之后,还包括:
获取历史压测结果,所述历史压测结果为过去预设时间范围内进行压力测试所得到的压测结果;
将压测结果与历史压测结果进行比对,得到比对结果。
9.根据权利要求1至5任一项所述的方法,其特征在于,所述统计压测结果之后,还包括:
根据所述压测结果生成压测报告;
将所述压测报告发送给预设联系人。
10.一种压力测试装置,其特征在于,包括:
获取单元,用于获取压测任务;
确定单元,用于根据所述压测任务确定当前需要进行压力测试的对象,得到目标对象;
处理单元,用于在预设时长内将现网流量导向所述目标对象,并采集所述目标对象的各项性能指标;其中所述现网流量是指现有网络中真实用户的流量,包括上行数据流量和下行数据流量,上行数据流量包括用户的请求数据所产生的流量,下行数据流量包括向用户发送数据行为所产生的流量;
统计单元,用于在性能指标达到预设瓶颈值时,统计压测结果,并触发获取单元执行获取压测任务的操作,直至压测任务均测试完毕。
11.根据权利要求10所述的装置,其特征在于,
所述确定单元,具体用于根据所述压测任务获取压测服务对象集合,从所述压测服务对象集合中确定当前需要进行压力测试的对象,得到目标对象。
12.根据权利要求10所述的装置,其特征在于,
所述处理单元,具体用于利用负载均衡技术增加所述目标对象的流量权重,以将现网流量导向所述目标对象,并统计压测时长,在压测时长超过预设时长时,恢复所述目标对象的流量权重。
13.根据权利要求12所述的装置,其特征在于,
所述统计单元,还用于在压测时长超过预设时长时,执行统计压测结果的操作。
14.根据权利要求10至13任一项所述的装置,其特征在于,
所述处理单元,具体用于采集所述目标对象中央处理器使用率、内存使用率、磁盘使用率、设备每秒查询率、和请求延时中的一个或多个构成的组合。
15.根据权利要求10至13任一项所述的装置,其特征在于,还包括比较单元;
所述获取单元,还用于获取历史压测结果,所述历史压测结果为过去预设时间范围内进行压力测试所得到的压测结果;
所述比较单元,用于将压测结果与历史压测结果进行比对,得到比对结果。
16.一种压力测试系统,其特征在于,包括权利要求10至15任一项所述的压力测试装置。
17.一种存储介质,其内存储有处理器可执行指令,所述指令由至少一个处理器加载,以执行如权利要求1-9中任一项所述的压力测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710203394.4A CN107015892B (zh) | 2017-03-30 | 2017-03-30 | 一种压力测试方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710203394.4A CN107015892B (zh) | 2017-03-30 | 2017-03-30 | 一种压力测试方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107015892A CN107015892A (zh) | 2017-08-04 |
CN107015892B true CN107015892B (zh) | 2020-11-03 |
Family
ID=59445795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710203394.4A Active CN107015892B (zh) | 2017-03-30 | 2017-03-30 | 一种压力测试方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107015892B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612781A (zh) * | 2017-10-12 | 2018-01-19 | 上海斐讯数据通信技术有限公司 | 一种dhcp请求压力的测试方法及系统 |
CN108376112B (zh) * | 2018-02-09 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 压力测试方法、装置及可读介质 |
CN108418730B (zh) * | 2018-03-06 | 2020-11-27 | 平安科技(深圳)有限公司 | 网络流量测试方法、装置、设备以及计算机可读存储介质 |
CN109460348B (zh) * | 2018-10-31 | 2022-02-22 | 网易(杭州)网络有限公司 | 游戏服务器的压测方法和装置 |
CN111200537B (zh) * | 2018-11-20 | 2022-02-01 | 贵州白山云科技股份有限公司 | 一种网络节点验收的方法和系统 |
CN109739708B (zh) * | 2019-01-02 | 2023-07-21 | 网易(杭州)网络有限公司 | 测试压力的方法、装置和系统 |
CN110262959B (zh) * | 2019-05-09 | 2022-11-11 | 五八有限公司 | 底层服务压力测试方法、装置、电子设备及存储介质 |
CN112350878A (zh) * | 2019-08-07 | 2021-02-09 | 阿里巴巴集团控股有限公司 | 一种压力测试系统 |
CN111193634B (zh) * | 2019-09-12 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种压力测试方法、装置和计算机可读存储介质 |
CN112564996B (zh) * | 2019-09-26 | 2024-09-17 | 阿里巴巴集团控股有限公司 | 压力测试流量调度、控制方法、设备以及计算机可读介质 |
CN111274112B (zh) * | 2020-01-22 | 2023-07-07 | 天翼数字生活科技有限公司 | 应用程序压测方法、装置、计算机设备和存储介质 |
CN111343046B (zh) * | 2020-02-21 | 2022-05-17 | 北京字节跳动网络技术有限公司 | 产生压力流量的方法、装置、电子设备及计算机可读存储介质 |
CN112131086A (zh) * | 2020-09-18 | 2020-12-25 | 浪潮电子信息产业股份有限公司 | 一种应用服务器的性能调优方法、装置及设备 |
CN112350894A (zh) * | 2020-11-05 | 2021-02-09 | 科大讯飞股份有限公司 | 一种服务节点的性能测试方法、装置、设备及存储介质 |
CN112506751B (zh) * | 2020-11-27 | 2022-11-18 | 浪潮电子信息产业股份有限公司 | 一种服务器整机性能的对比测试方法、装置、设备及介质 |
CN115037655B (zh) * | 2022-05-19 | 2024-03-12 | 支付宝(杭州)信息技术有限公司 | 压测方法和系统 |
CN115242676B (zh) * | 2022-07-28 | 2023-10-03 | 度小满科技(北京)有限公司 | 软件系统容量压力测试方法、装置、电子设备及存储介质 |
CN115396346B (zh) * | 2022-08-30 | 2023-11-28 | 北京知道创宇信息技术股份有限公司 | 仿真压力测试方法、装置、系统和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0915423A3 (en) * | 1997-11-07 | 2004-06-16 | Hitachi, Ltd. | Computer operation management system |
CN101217593A (zh) * | 2008-01-16 | 2008-07-09 | 中兴通讯股份有限公司 | 一种信令传输网络的性能测试装置及方法 |
CN101625658A (zh) * | 2009-08-04 | 2010-01-13 | 卓望信息技术(北京)有限公司西城分公司 | 一种软件系统性能测试方法 |
CN101882105A (zh) * | 2010-06-01 | 2010-11-10 | 华南理工大学 | 一种测试Web网页并发环境下响应时间的方法 |
CN102143022A (zh) * | 2011-03-16 | 2011-08-03 | 北京邮电大学 | 用于ip网络的云测量装置和测量方法 |
CN103188116A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 一种刀片服务器的网络性能检测方法和系统 |
-
2017
- 2017-03-30 CN CN201710203394.4A patent/CN107015892B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0915423A3 (en) * | 1997-11-07 | 2004-06-16 | Hitachi, Ltd. | Computer operation management system |
CN101217593A (zh) * | 2008-01-16 | 2008-07-09 | 中兴通讯股份有限公司 | 一种信令传输网络的性能测试装置及方法 |
CN101625658A (zh) * | 2009-08-04 | 2010-01-13 | 卓望信息技术(北京)有限公司西城分公司 | 一种软件系统性能测试方法 |
CN101882105A (zh) * | 2010-06-01 | 2010-11-10 | 华南理工大学 | 一种测试Web网页并发环境下响应时间的方法 |
CN102143022A (zh) * | 2011-03-16 | 2011-08-03 | 北京邮电大学 | 用于ip网络的云测量装置和测量方法 |
CN103188116A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 一种刀片服务器的网络性能检测方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107015892A (zh) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107015892B (zh) | 一种压力测试方法、装置和系统 | |
CN106130816B (zh) | 一种内容分发网络监控方法、监控服务器及系统 | |
CN110474852B (zh) | 一种带宽调度方法及装置 | |
CN107247651B (zh) | 云计算平台监测预警方法和系统 | |
EP2425349B1 (en) | Application efficiency engine | |
CN111563014B (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
US9292406B2 (en) | Monitoring the performance of a computer | |
US8392147B2 (en) | Monitoring the performance of a computer | |
CN109981744B (zh) | 数据的分发方法、装置、存储介质及电子设备 | |
CN109597685A (zh) | 任务分配方法、装置和服务器 | |
US10305974B2 (en) | Ranking system | |
US20140143777A1 (en) | Resource Scheduling Method and Device | |
CN105049509A (zh) | 一种集群调度方法、负载均衡器以及集群系统 | |
CN111045879B (zh) | 压力测试报告的生成方法、装置及存储介质 | |
CN112148779B (zh) | 确定业务指标的方法、装置及存储介质 | |
CN109669915A (zh) | 一种计算机任务管理方法、装置及相关设备 | |
CN108009010B (zh) | 瘦客户端的管理装置、系统、方法、电子设备、存储介质 | |
CN113672500A (zh) | 深度学习算法的测试方法、装置、电子装置和存储介质 | |
CN105467907A (zh) | 一种自动巡检的系统及方法 | |
CN113609202B (zh) | 数据处理方法及装置 | |
CN110796591A (zh) | 一种gpu卡的使用方法及相关设备 | |
CN110609758A (zh) | 基于队列的设备运行方法、计算机设备及可读存储介质 | |
CN111784185B (zh) | 一种分布式配电通信网定时任务调度系统 | |
US20130117275A1 (en) | Index monitoring system, index monitoring method and program | |
CN105897498A (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 |