一种压力测试的方法、装置及系统与流程

文档序号:12131704阅读:301来源:国知局
一种压力测试的方法、装置及系统与流程

本发明涉及互联网技术领域,特别涉及一种压力测试的方法、装置及系统。



背景技术:

随着互联网技术的发展,一些大型的网站系统或者服务系统也日益出现在人们生活中。这些网站系统或者服务系统可能有海量的用户,因此,为维护这些互联网系统的安全性和稳定性,需对这些大型的互联网系统进行压力测试。

压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试是为了发现在什么条件下系统的性能会变得不可接受。目前,可采用主从模型来对系统进行压力测试。其中,压力测试系统中的主节点启动每个从节点后,给每个从节点分配压测配额,主节点与从节点的压测会话后,从节点模拟终端用户与被测的系统中服务器建立连接后,与服务器进行数据通讯,并且,将与服务器之间的压测统计数据同步给主节点,从而,主节点根据同步的压测统计数据,获得对应的压测结果。由于,只有一个主节点,因此,管理的从节点过多时,会导致主节点成为瓶颈,影响了压力测试的效率。



技术实现要素:

本发明提供一种压力测试的方法、装置及系统,用以提高压力测试的规模和效率。

本发明提供一种压力测试的方法,应用于分布式压力测试系统中,所述分布式压力测试系统包括一个主节点调度器,至少一个主节点,每个主节点对应至少一个从节点,该方法包括:

所述主节点调度器启动对应的每个主节点;

针对每个主节点,当检测到主节点已启动时,向所述主节点发送压力测试启动指令,使得所述主节点启动对应的每个从节点对被测试系统进行压力测试,并获得压测统计信息;

接收每个主节点传输的对应的压测统计信息,并进行汇总统计,获得所述压力测试的测试结果。

本发明一实施例中,所述主节点调度器启动对应的每个主节点包括:

根据预设的主节点压力配置策略,向每个主节点发送对应的压力配置文件;

登录到对应的主节点进行启动。

本发明一实施例中,所述登录到对应的主节点进行启动包括:

向所述主节点发送登录请求;

当接收到所述主节点返回的登录请求授权通过指令时,向所述主节点发送主启动指令;

接收所述主节点返回的启动成功响应指令,其中,所述启动成功响应指令是所述主节点确认所述主启动指令合法,并执行所述主启动指令后生成的。

本发明提供一种压力测试的装置,应用于分布式压力测试系统的主节点调度器中,所述分布式压力测试系统包括一个主节点调度器,至少一个主节点,每个主节点对应至少一个从节点,该装置包括:

启动单元,用于启动所述分布式压力测试系统中每个主节点;

压测启动单元,用于针对每个主节点,当检测到主节点已启动时,向所述主节点发送压力测试启动指令,使得所述主节点启动对应的每个从节点对被测试系统进行压力测试,并获得压测统计信息;

接收汇总单元,用于接收每个主节点传输的对应的压测统计信息,并进行汇总统计,获得所述压力测试的测试结果。

本发明一实施例中,所述启动单元,用于根据预设的主节点压力配置策略,向每个主节点发送对应的压力配置文件;并登录到对应的主节点进行启动。

本发明一实施例中,所述启动单元,还用于向所述主节点发送登录请求,当接收到所述主节点返回的登录请求授权通过指令时,向所述主节点发送主启动指令,接收所述主节点返回的启动成功响应指令,其中,所述启动成功响应指令是所述主节点确认所述主启动指令合法,并执行所述主启动指令后生成的。

本发明提供一种压力测试的系统,包括:一个主节点调度器,至少一个主节点,每个主节点对应至少一个从节点,其中,

所述主节点调度器,用于启动对应的每个主节点;并针对每个主节点,当检测到主节点已启动时,向所述主节点发送压力测试启动指令,使得所述主节点启动对应的每个从节点对被测试系统进行压力测试,并获得压测统计信息;接收每个主节点传输的对应的压测统计信息,并进行汇总统计,获得所述压力测试的测试结果;

所述主节点,用于被所述主节点调度器启动后,接收所述主节点调度器发送的压力测试启动指令,并启动对应的每个从节点;针对每个从节点,当检测到从节点已启动时,向所述从节点分配压测配额,使得所述从节点对所述被测试系统进行压力测试,获得对应的从压测统计信息;同步每个从节点获得的所述从压测统计信息,得到对应的所述压测统计信息,并发送给所述主节点调度器;

所述从节点,用于被所述主节点启动后,接收所述主节点分配的所述压测配额,模拟终端用户与所述被测试系统中服务器建立连接,并进行数据传输,获得对应的从压测统计信息,将所述从压测统计信息同步给所述主节点。

本发明一实施例中,所述主节点调度器,用于根据预设的主节点压力配置策略,向每个主节点发送对应的压力配置文件,并登录到对应的主节点进行启动。

本发明一实施例中,所述主节点调度器,还用于向所述主节点发送登录请求,当接收到所述主节点返回的登录请求授权通过指令时,向所述主节点发送主启动指令,并接收所述主节点返回的启动成功响应指令;

所述主节点,还用于接收所述主节点调度器发送的登录请求,并进行授权,向所述主节点调度器返回登录请求授权通过指令;接收所述主节点调度器发送的主启动指令,当确认所述主启动指令合法后,执行所述主启动指令并生成启动成功响应指令返回给所述主节点调度器。

本发明一实施例中,所述主节点,还用于向所述从节点发送登录请求,当接收到所述从节点返回的登录请求授权通过指令时,向所述从节点发送从启动指令,接收所述从节点返回的启动成功响应指令;

所述从节点,还用于接收所述主节点发送的登录请求,并进行授权,向所述主节点返回登录请求授权通过指令;接收所述主节点发送的从启动指令,当确认所述从启动指令合法后,执行所述从启动指令并生成启动成功响应指令返回给所述主节点。

本发明实施例的一些有益效果可以包括:

可见,在压力测试的系统中,每个主节点只需与主节点调度器进行唯一连接,而每个主节点之间并不需要相互连接,这样,可根据每个主节点的承受能力分而进行测试,并可批量获取每个主节点得到的压测统计信息,从而减少因规模扩展,主节点成为瓶颈的几率,解决了主从模式下因规模扩展容量存在上限不足的问题,实现了超大规模的压力测试。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是根据一示例性实施例示出的压力测试的流程图;

图2是根据一示例性实施例一示出的压力测试方法的示意图;

图3是根据一示例性实施例二示出的登录启动的流程图;

图4是根据一示例性实施例示出的压力测试的装置的结构图;

图5是根据一示例性实施例示出的压力测试的系统结构图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本公开实施例提供的技术方案,分布式压力测试系统增加了一个主节点调度器,并可包括一个、两个或多个主从压力测试模型,具体地,该系统包括一个主节点调度器,至少一个主节点,每个主节点对应至少一个从节点。这样,每个主节点只需与主节点调度器进行唯一连接,而每个主节点之间并不需要相互连接,从而,可根据每个主节点的承受能力分而进行测试,并可批量获取每个主节点得到的压测统计信息,可减少因规模扩展,主节点成为瓶颈的几率,解决了主从模式下因规模扩展容量存在上限不足的问题,实现了超大规模的压力测试。

图1是根据一示例性实施例示出的压力测试的流程图。压力测试的过程如图1所示,包括:

步骤101:主节点调度器启动分布式压力测试系统中对应的每个主节点。

本发明实施例中,分布式压力测试系统增加了一个主节点调度器,并可包括一个、两个或多个主从压力测试模型,具体地,可包括:一个主节点调度器,至少一个主节点,每个主节点对应至少一个从节点。

其中,主节点调度器可与每个主节点连接,而每个主节点分别与对应的从节点连接。

主节点调度器需启动对应的每个主节点,具体可包括:根据预设的主节点压力配置策略,向每个主节点发送对应的压力配置文件,然后,主节点调度器登录到对应的主节点进行启动。

本发明实施例中,主节点调度器登录到对应的主节点进行启动可包括:向主节点发送登录请求;当接收到主节点返回的登录请求授权通过指令时,向主节点发送主启动指令;接收主节点返回的启动成功响应指令,其中,启动成功响应指令是主节点确认主启动指令合法,并执行主启动指令后生成的。

可见,主节点单向授权给主节点调度器进行节点连接,这样,由于授权的命令有限,从而使得登录到对应的主节点进行启动的过程安全可控。

一般,主节点可监听设定的端口,当端口接收到主节点调度器发送的登录请求后,可进行授权,然后,接收到主节点调度器发送的命令后,由于主节点调度器已授权,因此,安全可靠,从而可根据接收的命令进行对应的操作,例如:接收到停止命令时,主节点可杀掉自身进程,停止服务。或者,接收心跳命令时,主节点接收到ping指令,向主节点调度器返回pong内容,证明自己存活。或,接收到卸载命令时,主节点停止自身服务,卸载自身应用。或,接收主启动指令启动命令时,主节点进行启动等等。

可见,可通过登录的方式,启动主节点,简单快捷,并且,单向授权方式更加安全可控。

步骤102:针对每个主节点,当检测到主节点已启动时,主节点调度器向主节点发送压力测试启动指令,使得主节点启动对应的每个从节点对被测试系统进行压力测试,并获得压测统计信息。

本发明实施例中,主节点调度器对应一个、两个或多个主节点,因此,对于每个主节点,由于步骤101中已启动了主节点,主节点启动会向主节点调度器发送反馈消息,当接收到反馈消息后,可确定主节点已启动时,从而,可向主节点发送压力测试启动指令。

由于,分布式压力测试系统增加了一个主节点调度器,并可包括一个、两个或多个主从压力测试模型。因此,当主节点接收到压力测试启动指令后,即可进行现有的主从压力测试的过程,并获得对应的压测统计信息。具体可包括:启动对应的每个从节点,针对每个从节点,当检测到从节点已启动时,向从节点分配压测配额,使得从节点对被测试系统进行压力测试,获得对应的从压测统计信息,同步每个从节点获得的从压测统计信息,得到对应的压测统计信息。压测统计信息包括:日志信息,统计信息等。

而从节点被主节点启动后,接收主节点分配的压测配额,模拟终端用户与被测试系统中服务器建立连接,并进行数据传输,获得对应的从压测统计信息,将从压测统计信息同步给主节点。

这里,主节点启动对应的每个从节点的过程也可以采用登录的方式进行启动,具体可包括:主节点向从节点发送登录请求,当接收到从节点返回的登录请求授权通过指令时,向从节点发送从启动指令,接收从节点返回的启动成功响应指令。

其中,从节点可监听设定的端口,当端口接收到主节点发送的登录请求后,可进行授权,然后,接收到主节点发送的命令后,由于主节点已授权,因此,安全可靠,从而可根据接收的命令进行对应的操作,例如:接收到停止命令时,从节点可杀掉自身进程,停止服务。或者,接收心跳命令时,从节点接收到ping指令,向主节点返回pong内容,证明自己存活。或,接收到卸载命令时,从节点停止自身服务,卸载自身应用。或,接收从启动指令启动命令时,从节点进行启动等等。

步骤103:主节点调度器接收每个主节点传输的对应的压测统计信息,并进行汇总统计,获得压力测试的测试结果。

这里,可定时批量接收每个主节点传输的对应的压测统计信息,从而,可进行汇总统计,获得压力测试的测试结果。

可见,每个主节点只需与主节点调度器进行唯一连接,而每个主节点之间并不需要相互连接,从而,可根据每个主节点的承受能力分而进行测试,并可批量获取每个主节点得到的压测统计信息,可减少因规模扩展,主节点成为瓶颈的几率,解决了主从模式下因规模扩展容量存在上限不足的问题,实现了超大规模的压力测试。

下面将操作流程集合到具体实施例中,举例说明本公开实施例提供的方法。

实施例一,本实施例中,分布式压力测试系统包括一个主节点调度器,至少一个主节点,每个主节点对应至少一个从节点。例如:有多个机房,每个机房对应一个主从式节点模型,每个机房中的主节点互相不连接,但分别与一个主节点调度器连接。

图2是根据一示例性实施例一示出的压力测试方法的示意图,参见图2,本实施例中压力测试的过程包括:

步骤201:主节点调度器加载预设的主节点压力配置策略。

步骤202:主节点调度器根据预设的主节点压力配置策略,向每个主节点发送对应的压力配置文件。

步骤203:主节点调度器向每个主节点发送登录请求,启动主节点。

步骤204:当检测到主节点已启动时,主节点调度器向对应的主节点发送压力测试启动指令。

步骤205:主节点启动对应的每个从节点对被测试系统进行压力测试,并获得压测统计信息。

步骤206:主节点调度器定时批量获取每个主节点传输的对应的压测统计信息,并进行汇总统计,获得压力测试的测试结果。

可见,本实施中,每个主节点只需与主节点调度器进行唯一连接,而每个主节点之间并不需要相互连接,这样,可根据每个主节点的承受能力分而进行测试,并可批量获取每个主节点得到的压测统计信息,从而减少因规模扩展,主节点成为瓶颈的几率,解决了主从模式下因规模扩展容量存在上限不足的问题,实现了超大规模的压力测试。

实施例二,主节点调节器通过登录的方式可启动对应的主节点。同样,主节点也可登录的方式可启动对应的从节点。因此,主节点调节器登录对应的主节点时,主节点调节器可作为登录客户端,而主节点作为登录服务器。而主节点登录对应的从节点时,主节点可作为登录客户端,而从节点作为登录服务器。

本实施例中,登录客户端可登录对应的登录服务器进行启动,其中,当登录客户端为主节点调节器,对应的登录服务器为主节点;而当登录客户端为主节点,对应的登录服务器为从节点。

图3是根据一示例性实施例二示出的登录启动的流程图。参见图3,本实施例中登录启动的过程包括:

步骤301:登录客户端向登录服务器发送登录请求。

这里,当登录客户端为主节点调节器,对应的登录服务器为主节点;而当登录客户端为主节点,对应的登录服务器为从节点。

步骤302:登录服务器判断是否向发送登录请求的登录客户端进行授权?若是,执行步骤303,否则,流程结束。

登录服务器可单向对登录客户端进行授权。

步骤303:登录服务器向登录客户端发送登录请求授权通过指令。

步骤304:登录客户端向登录服务器发送启动指令。

这里,若登录客户端为主节点调节器,则主节点调节器向主节点发送主启动指令。若登录客户端为主节点,则主节点向从节点发送从启动指令。

步骤305:登录服务器判断启动指令是否合法?若是,执行步骤306,否则,流程结束。

登录服务器向登录客户端进行了授权,则启动指令合法,可执行步骤306。若启动指令时非授权的客户端发送的,则该启动指令不合法,流程结束。

步骤306:登录服务器执行启动指令,并生成启动成功响应指令,发送给登录客户端。

登录服务器根据启动指令进行了启动,并且还可生成启动成功响应指令返回给登录客户端。从而,启动过程结束。

可见,本实施中,通过登录的方式来进行节点启动,过程简单,并且,登录服务器单向授权登录客户端,使得启动过程安全可控,进一步提高压力测试的安全性和效率。

下述为本公开装置实施例,可以用于执行本公开方法实施例。

根据上述压力测试的过程,可构建一种压力测试的装置,如图4所示,该装置应用于分布式压力测试系统的主节点调度器中,分布式压力测试系统包括一个主节点调度器,至少一个主节点,每个主节点对应至少一个从节点,该装置包括:启动单元410,压测启动单元420以及接收汇总单元430,其中,

启动单元410,用于启动分布式压力测试系统中每个主节点。

压测启动单元420,用于针对每个主节点,当检测到主节点已启动时,向主节点发送压力测试启动指令,使得主节点启动对应的每个从节点对被测试系统进行压力测试,并获得压测统计信息。

接收汇总单元430,用于接收每个主节点传输的对应的压测统计信息,并进行汇总统计,获得压力测试的测试结果。

本发明一实施例中,启动单元410,用于根据预设的主节点压力配置策略,向每个主节点发送对应的压力配置文件;并登录到对应的主节点进行启动。

本发明一实施例中,启动单元410,还用于向主节点发送登录请求,当接收到主节点返回的登录请求授权通过指令时,向主节点发送主启动指令,接收主节点返回的启动成功响应指令,其中,启动成功响应指令是主节点确认主启动指令合法,并执行主启动指令后生成的。

下述为本公开系统实施例,可以用于执行本公开方法实施例。

根据上述压力测试的过程,可构建一种压力测试的系统,图5是根据一示例性实施例三示出的压力测试的系统结构图,参见图5,本实施例中,该系统包括:一个主节点调度器100,至少一个主节点200,每个主节点200对应至少一个从节点300,其中,

主节点调度器100,用于启动对应的每个主节点200;并针对每个主节点200,当检测到主节点200已启动时,向主节点200发送压力测试启动指令,使得主节点200启动对应的每个从节点300对被测试系统进行压力测试,并获得压测统计信息;接收每个主节点200传输的对应的压测统计信息,并进行汇总统计,获得压力测试的测试结果。

主节点200,用于被主节点调度器100启动后,接收主节点调度器100发送的压力测试启动指令,并启动对应的每个从节点300;针对每个从节点300,当检测到从节点300已启动时,向从节点300分配压测配额,使得从节点300对被测试系统进行压力测试,获得对应的从压测统计信息;同步每个从节点300获得的从压测统计信息,得到对应的压测统计信息,并发送给主节点调度器100。

从节点300,用于被主节点200启动后,接收主节点200分配的压测配额,模拟终端用户与被测试系统中服务器建立连接,并进行数据传输,获得对应的从压测统计信息,将从压测统计信息同步给主节点200。

本发明一实施例中,主节点调度器100,用于根据预设的主节点压力配置策略,向每个主节点200发送对应的压力配置文件,并登录到对应的主节点200进行启动。

本发明一实施例中,主节点调度器100,还用于向主节点200发送登录请求,当接收到主节点200返回的登录请求授权通过指令时,向主节点200发送主启动指令,并接收主节点200返回的启动成功响应指令。

主节点200,还用于接收主节点调度器100发送的登录请求,并进行授权,向主节点调度器100返回登录请求授权通过指令;接收主节点调度器100发送的主启动指令,当确认主启动指令合法后,执行主启动指令并生成启动成功响应指令返回给主节点调度器100。

本发明一实施例中,主节点200,还用于向从节点300发送登录请求,当接收到从节点300返回的登录请求授权通过指令时,向从节点300发送从启动指令,接收从节点300返回的启动成功响应指令。

从节点300,还用于接收主节点200发送的登录请求,并进行授权,向主节点200返回登录请求授权通过指令;接收主节点200发送的从启动指令,当确认从启动指令合法后,执行从启动指令并生成启动成功响应指令返回给主节点200。

可见,每个主节点只需与主节点调度器进行唯一连接,而每个主节点之间并不需要相互连接,这样,可根据每个主节点的承受能力分而进行测试,并可批量获取每个主节点得到的压测统计信息,从而减少因规模扩展,主节点成为瓶颈的几率,解决了主从模式下因规模扩展容量存在上限不足的问题,实现了超大规模的压力测试。并且,通过登录的方式来进行节点启动,过程简单,并且,单向授权方式使得节点启动过程安全可控,进一步提高压力测试的安全性和效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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