掌桥专利:专业的专利平台
掌桥专利
首页

生产环境容量检测方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 09:54:18


生产环境容量检测方法、装置、计算机设备及存储介质

技术领域

本发明涉及软件测试技术领域,属于智慧城市中对生产环境容量进行检测的应用场景,尤其涉及一种生产环境容量检测方法、装置、计算机设备及存储介质。

背景技术

随着互联网技术的发展,越来越多的业务可通过线上方式进行办理,客户通过客户端发送服务请求至企业的服务终端即可在线上快捷方便地进行业务办理,客户发送一条服务请求至服务终端也即对应产生一条流量,在服务终端为客户提供服务之前,通常会构建测试环境用于系统软件版本测试及流量测试,并基于流量测试的结果对应放大估算得到生产流量估算值,将生产流量估算值作为总容量在服务终端内部署生产环境并为客户提供服务,通常而言所部署的生产环境的容量必须满足实际生产流量。然而,实际生产过程中,生产环境的流量压力和整体网络链路的情况比测试环境复杂很多,生产环境及测试环境所使用的服务器性能可能也存在较大区别,而随着对生产环境中系统软件的版本进行迭代更新,基于流量测试的结果所获取到的生产环境的容量可能严重偏离实际使用需求而难以为客户提供优质服务,由于企业不能中断生产环境的服务对生产环境的总容量进行检测,导致无法准确、高效地获取生产环境的极限生产容量,进而也无法根据实际生产流量及时对生产环境的系统资源进行灵活调整。因此,现有技术方法中存在无法不中断生产环境的服务而对生产环境容量进行准确高效检测的问题。

发明内容

本发明实施例提供了一种生产环境容量检测方法、装置、计算机设备及存储介质,旨在解决现有技术方法无法不中断生产环境的服务而对生产环境容量进行准确高效检测的问题。

第一方面,本发明实施例提供了一种生产环境容量检测方法,其包括:

若接收到管理员所输入的容量检测指令,根据所述容量检测指令选择所述生产环境中的一台生产子服务器作为目标子服务器进行容量测试以得到所述目标子服务器的生产容量曲线;

根据所述容量检测指令中的容量获取条件从所述生产容量曲线中获取满足所述容量获取条件的极限容量值;

从所述生产环境中获取生产流量副本输入所述测试环境中的任意一台测试子服务器并获取满足所述容量获取条件的测试极限容量值;

根据所述测试极限容量值及所述测试环境所包含测试子服务器的数量进行放大测试并根据预置的状态阈值信息判断所述测试环境是否正常运行;

若所述测试环境正常运行,根据所述生产环境所包含生产子服务器的数量对所述所述极限容量值进行同步放大以得到生产环境总容量;

若所述测试环境无法正常运行,获取所述测试环境的测试总容量并根据所述极限容量值、所述测试极限容量值、所述生产子服务器的数量及所述测试子服务器的数量对所述测试总容量进行等比例缩放以得到生产环境总容量。

第二方面,本发明实施例提供了一种生产环境容量检测装置,其包括:

生产容量曲线获取单元,用于若接收到管理员所输入的容量检测指令,根据所述容量检测指令选择所述生产环境中的一台生产子服务器作为目标子服务器进行容量测试以得到所述目标子服务器的生产容量曲线;

极限容量值获取单元,用于根据所述容量检测指令中的容量获取条件从所述生产容量曲线中获取满足所述容量获取条件的极限容量值;

测试极限容量值获取单元,用于从所述生产环境中获取生产流量副本输入所述测试环境中的任意一台测试子服务器并获取满足所述容量获取条件的测试极限容量值;

放大测试单元,用于根据所述测试极限容量值及所述测试环境所包含测试子服务器的数量进行放大测试并根据预置的状态阈值信息判断所述测试环境是否正常运行;

第一容量获取单元,用于若所述测试环境正常运行,根据所述生产环境所包含生产子服务器的数量对所述所述极限容量值进行同步放大以得到生产环境总容量;

第二容量获取单元,用于若所述测试环境无法正常运行,获取所述测试环境的测试总容量并根据所述极限容量值、所述测试极限容量值、所述生产子服务器的数量及所述测试子服务器的数量对所述测试总容量进行等比例缩放以得到生产环境总容量。

第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的生产环境容量检测方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的生产环境容量检测方法。

本发明实施例提供了一种生产环境容量检测方法、装置、计算机设备及存储介质。根据容量检测指令选择生产环境的一台目标子服务器进行容量测试得到生产容量曲线并从中获取满足容量获取条件的极限容量值,获取测试环境中任意一台测试子服务器的测试极限容量值并根据测试子服务器的数量对测试环境进行放大测试,若测试环境在放大测试时正常运行则根据极限容量值同步放大得到生产环境总容量,若测试环境在放大测试时无法正常运行,获取测试总容量并对极限容量值进行等比例缩放得到生产环境总容量。通过上述方法,基于生产流量对一台目标子服务器及一台测试子服务器分别进行极限压力测试,并通过输入生产流量以在测试环境中模拟真实环境下生产服务器集群的测试极限总容量,基于测试极限容量对应获取生产环境总容量以对生产环境进行容量检测,可不中断生产环境的服务对生产环境容量准确高效地进行检测。

附图说明

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

图1为本发明实施例提供的生产环境容量检测方法的流程示意图;

图2为本发明实施例提供的生产环境容量检测方法的应用场景示意图;

图3为本发明实施例提供的生产环境容量检测方法的效果示意图;

图4为本发明实施例提供的生产环境容量检测方法的子流程示意图;

图5为本发明实施例提供的生产环境容量检测方法的另一子流程示意图;

图6为本发明实施例提供的生产环境容量检测方法的另一子流程示意图;

图7为本发明实施例提供的生产环境容量检测方法的另一子流程示意图;

图8为本发明实施例提供的生产环境容量检测方法的另一流程示意图;

图9为本发明实施例提供的生产环境容量检测方法的另一流程示意图;

图10为本发明实施例提供的生产环境容量检测装置的示意性框图;

图11为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1及图2,图1是本发明实施例提供的生产环境容量检测方法的流程示意图,图2为本发明实施例提供的生产环境容量检测方法的应用场景示意图,该生产环境容量检测方法应用于管理服务器10中,该方法通过安装于管理服务器10中的应用软件进行执行,管理服务器10分别与生产服务器集群20及测试服务器集群30进行通信连接以实现数据信息的传输,其中,管理服务器10即是企业内部所配置用于对生产服务器集群20及测试服务器集群30进行流量分配管理的负载均衡服务器,管理服务器10的使用者即为企业的管理员,生产服务器集群20由多台生产子服务器组成,生产服务器集群20部署有生产环境,测试服务器集群30由多台测试子服务器组成,测试服务器集群30部署有测试环境。如图1所示,该方法包括步骤S110~S160。

S110、若接收到管理员所输入的容量检测指令,根据所述容量检测指令选择所述生产环境中的一台生产子服务器作为目标子服务器进行容量测试以得到所述目标子服务器的生产容量曲线。

若接收到管理员所输入的容量检测指令,管理员即为管理服务器的使用者,容量检测指令即为管理员所输入的用于对生产环境的系统资源容量进行检测的指令信息,管理服务器执行容量检测指令并对生产环境的容量进行检测。具体的,生产环境部署于包含多台生产子服务器所组成的生产服务器集群内,则管理服务器可选择生产环境中的一台生产子服务器作为目标子服务器,对该目标子服务器进行极限容量测试以得到对应的生产容量曲线。

此外,容量检测指令还可以自动触发执行,随着生产环境中系统软件的版本更新,生产环境所能够提供的生产环境总容量可能缩小或方法,此时则需对生产环境的容量进行检测,例如,若管理服务器检测到生产环境中系统软件的版本被更新,则自动触发执行容量检测指令并完成对生产环境的容量进行检测。

客户通过客户端发送一条服务请求至管理服务器也即对应产生一条业务流量,从管理服务器实时接收到的业务流量并分配至生产环境进行处理,则生产流量即为生产环境所接收到的需进行处理的业务流量,生产环境中的每一台生产子服务器均可对生产流量进行处理,生产子服务器处理生产流量的速率也即是单位时间内该生产子服务器对生产流量进行处理的数量,生产子服务器的运行状态会随所分配的生产流量数量进行变化,则所得到的生产容量曲线中包括目标子服务器对生产流量进行处理的过程中运行状态随分配的生产流量进行变化的具体信息。运行状态可以包括数据处理响应时间、接口调用响应时间、流量处理速率、数据处理负载等服务器状态信息。

在一实施例中,如图4所示,步骤S110包括子步骤S111、S112和S113。

S111、随机选择所述生产环境中的一台生产子服务器作为目标子服务器。

可随机选择生产环境中的一台生产子服务器作为目标子服务器,也可选择其中一台指定的生产子服务器作为目标子服务器。在对目标子服务器进行容量测试以及对生产环境的容量进行检测的整个过程中,无需中断生产环境的服务,也即是对管理服务器所接收到的服务请求均可进行正常处理。

在一实施例中,容量检测指令还可以包括筛选条件,如图5所示,步骤S110所包含的子步骤也可以是S1111、S1112、S112和S113。

S1111、发送状态获取请求至所述生产环境,以获取所述生产环境反馈的每一生产子服务器的服务器状态信息;S1112、获取服务器状态信息满足所述筛选条件的一台生产子服务器作为所述目标子服务器。

此外,还可根据容量检测指令中的筛选条件对生产环境包含的生产子服务器进行筛选,以获取满足筛选条件的一台生产子服务器作为目标子服务器。具体的,发送资源获取请求以获取每一生产子服务器当前的服务器状态信息,服务器状态信息可包括数据处理响应时间、接口调用响应时间、流量处理速率、数据处理负载等,根据每一生产子服务器的服务器状态信息获取数据处理响应时间、接口调用响应时间及数据处理负载的中位数或平均值,筛选条件包括流量处理速率阈值,获取流量处理速率大于流量处理速率阈值的生产子服务器作为备选子服务器,计算每一备选子服务器的数据处理响应时间、接口调用响应时间及数据处理负载与中位数或平均值之间的欧式距离,获取欧式距离最小的一个备选子服务器作为满足筛选条件的目标子服务器。

欧式距离可采用公式(1)计算得到:

Ωp=||P

其中,P

S112、持续增大所述目标子服务器的权重值,以根据所述权重值持续增加分配至所述目标子服务器的生产流量。

管理服务器中预先配置有与每一生产子服务器相匹配的权重值,可根据权重值及管理服务器所接收到的业务流量调整每一生产子服务器所需处理的生产流量以实现负载均衡。可持续增大目标子服务器的权重值以持续增加分配至目标子服务器的生产流量。

例如,目标子服务器的初始权重值为0.12,则此时分配至该目标子服务器的生产流量占整体生产流量的0.12,可将该权重值持续增加至初始权重值的三倍,也即是将0.12持续增加至0.36,从而使分配至该目标子服务器的生产流量的数量持续增加。

S113、获取所述目标子服务器的服务器状态信息与所述生产流量之间的对应关系以生成所述生产容量曲线。

生产子服务器接收到生产流量,在流量压力较小时均会及时对生产流量进行处理,当流量压力逐渐增大时生产子服务器可能无法及时对生产流量进行处理,此时生产子服务器正常接收来自管理服务器的所有生产流量,并以最大速率处理生产流量,无法及时处理的生产流量被存储至生产子服务器的内存中。可对目标子服务器处理生产流量过程中的服务器状态信息进行记录,并获取服务器状态信息与分配至目标子服务器的生产流量之间的对应关系得到生产容量曲线。图3为本发明实施例提供的生产环境容量检测方法的效果示意图,所得生产容量曲线如图3所示,其中横坐标为0秒时目标子服务器的权重值为0.12,横坐标为24秒时目标子服务器的权重值增加至0.36。

S120、根据所述容量检测指令中的容量获取条件从所述生产容量曲线中获取满足所述容量获取条件的极限容量值。

根据所述容量检测指令中的容量获取条件从所述生产容量曲线中获取满足所述容量获取条件的极限容量值。其中,所述生产容量曲线中包含平均响应时间曲线及流量处理速率曲线,容量获取条件中还包括斜率阈值,可基于曲线斜率值从两条曲线中获取对应的极限容量值,斜率阈值即是用于对平均响应时间曲线的斜率值进行判断的阈值信息,极限容量值即为目标子服务器所能承载的生产容量的最大值,也即是目标子服务器在同一时间能够对生产容量进行处理的最大值。

在一实施例中,如图6所示,步骤S120包括子步骤S121、S122和S123。

S121、计算所述平均响应时间曲线中每一时间点的曲线斜率值;S122、获取所述平均响应时间曲线中曲线斜率值大于所述斜率阈值的时间段;S123、获取所述流量处理速率曲线中与所述时间段相匹配的曲线段,并获取所述曲线段中的最大流量处理速率作为所述极限容量值。

平均响应时间曲线即为目标子服务器中数据处理响应时间及接口调用响应时间的平均值随时间进行变化的曲线,具体的,可对平均响应时间曲线中每一时间点的曲线斜率值进行计算,得到每一时间点的曲线斜率值并判断每一时间点的曲线斜率值是否大于斜率阈值,获取大于斜率阈值的时间点组成上述时间段。

如图3所示,实线部分为流量处理速率曲线,虚线部分为平均响应时间曲线,根据上述方法获取曲线斜率值大于斜率阈值的时间段,所得到的时间段如图3中的A-B所示,其中A和B分别表示横坐标上的两个时间点。

根据时间段获取流量处理速率曲线中对应的曲线段,并获取曲线段中的最大流量处理速率作为目标子服务器满足上述容量获取条件的极限容量值,也即是获取图3所示的流量处理速率曲线中位于A点及B点之间的最大流量处理速率作为极限容量值。

S130、从所述生产环境中获取生产流量副本输入所述测试环境中的任意一台测试子服务器并获取满足所述容量获取条件的测试极限容量值。

从所述生产环境中获取生产流量副本输入所述测试环境中的任意一台测试子服务器并获取满足所述容量获取条件的测试极限容量值。为实现测试子服务器进行测试的真实性,可对生产环境中相应的生产流量进行拷贝得到生产流量副本,并将所得到的生产流量副本输入测试环境的任意一台测试子服务器中,由于生产流量副本直接来源于生产环境所实际处理的生产流量,因此可确保生产流量中数据的真实性,以模拟生产环境对生产流量进行实际处理的过程;通过相同方法对测试子服务器进行极限容量测试,得到该测试子服务器的测试极限容量值,获取测试极限容量值的具体方法与获取目标子服务器中极限容量值的方法相同,在此不作赘述。

S140、根据所述测试极限容量值及所述测试环境所包含测试子服务器的数量进行放大测试并根据预置的状态阈值信息判断所述测试环境是否正常运行。

根据所述测试极限容量值及所述测试环境所包含测试子服务器的数量进行放大测试并判断所述测试环境是否正常运行。除了对测试环境中单台测试子服务器进行极限容量测试之外,还需基于测试极限容量值对部署测试环境的测试服务器集群进行放大测试,并根据状态阈值信息即可判断测试环境是否正常运行。

在一实施例中,如图7所示,步骤S140包括子步骤S141、S142和S143。

S141、根据所述测试极限容量值及所述测试子服务器的数量计算放大测试值;S142、从所述生产环境中获取与所述放大测试值相匹配的生产流量副本输入所述测试环境的测试服务器集群并获取集群状态信息;S143、根据所述状态阈值信息对所述集群状态信息进行判断以获取所述测试环境是否正常运行的判断结果。

测试极限容量值为对单台测试子服务器进行极限容量测试所得到的一个数值,将测试极限容量值与测试子服务器的数量相乘即可计算得到放大测试值。

例如,测试极限容量值为1600,测试服务器集群所包含的测试子服务器的数量为5,则对应计算得到放大测试值为1600*5=8000。

根据放大测试值获取对应数量的生产流量副本输入测试环境的测试服务器集群得到集群状态信息,其中,状态阈值信息即为对测试环境的集群状态信息进行判断的具体规则,集群状态信息即为测试服务器集群对生产流量副本进行处理的过程中运行状态随分配的生产流量副本进行变化的具体信息,若集群状态信息未超出状态阈值信息,则判定测试环境运行正常,否则判定测试环境运行不正常。

具体的,状态阈值信息可以包括集群处理负载阈值、处理响应时间阈值、接口调用响应时间阈值、调用错误率阈值,异常状态码次数阈值等。则可以获取集群状态信息中的集群处理负载、集群处理响应时间、集群接口调用响应时间、接口调用错误率、异常状态码次数等信息,并判断其中每一项信息是否均小于状态阈值信息中与每一项信息相匹配的阈值,若均小于,则判定测试环境运行正常;若其中任意一项信息不小于相对应的阈值,则判定测试环境运行不正常。

S150、若所述测试环境正常运行,根据所述生产环境所包含生产子服务器的数量对所述所述极限容量值进行同步放大以得到生产环境总容量。

若所述测试环境正常运行,根据所述生产环境所包含生产子服务器的数量对所述所述极限容量值进行同步放大以得到生产环境总容量。若测试环境运行正常,即表明测试环境能够正常处理放大测试中与放大测试值相匹配的生产流量副本,也即基于相同方式对目标子服务器的极限容量值进行同步放大后,测试环境也能够正常处理同步放大后的生产流量,将对极限容量值进行同步放大的生产流量数量作为与生产环境相匹配的生产环境总容量。也即是将极限容量值与生产环境所包含生产子服务器的数量进行相乘,即可得到与生产环境相匹配的生产环境总容量。

S160、若所述测试环境无法正常运行,获取所述测试环境的测试总容量并根据所述极限容量值、所述测试极限容量值、所述生产子服务器的数量及所述测试子服务器的数量对所述测试总容量进行等比例缩放以得到生产环境总容量。

若所述测试环境无法正常运行,获取所述测试环境的测试总容量并根据所述极限容量值、所述测试极限容量值、所述生产子服务器的数量及所述测试子服务器的数量对所述测试总容量进行等比例缩放以得到生产环境总容量。若测试环境无法正常运行,则表明测试环境不能够正常处理放大测试中与放大测试值相匹配的生产流量副本,需要采用持续增加生产流量副本并输入生产服务器集群的方式获取测试环境的测试总容量,测试总容量也即是对生产服务器集群进行极限容量测试所得到的一个数值。

获取到测试总容量后,即可基于极限容量值、测试极限容量值、生产子服务器的数量及测试子服务器的数量对测试总容量进行等比例缩放,得到与生产环境相匹配的生产环境总容量。具体的,进行等比例缩放的计算公式可采用公式(2)进行表示:

其中,S为所计算得到的生产环境总容量,S

在一实施例中,如图8所示,步骤S160之后还包括步骤S1601和S1602。

S1601、对所述测试环境中的任意一台测试子服务器的测试极限容量值及运行状态进行周期性监控得到所述测试子服务器的周期监控信息;S1602、实时判断所述周期监控信息是否满足预设的容量检测条件,若满足则返回执行所述根据所述容量检测指令选择所述生产环境中的一台生产子服务器作为目标子服务器进行容量测试以得到所述目标子服务器的生产容量曲线的步骤。

此外,还可根据预设的时间周期,对测试环境中的任意一台测试子服务器的测试极限容量值及对应的运行状态进行周期性监控,以得到周期监控信息,直至到达上述时间周期的结束时间,则停止对测试子服务器进行周期性监控,例如,预设的时间周期为10:00-18:00之间所包含的整点时间,则到达18:00后不在对测试子服务器进行周期性监控。所得到的周期监控信息中包含每一次监控的极限容量值,以及该测试子服务器的数量处理响应时间、接口调用响应时间、数据处理负载等服务器状态信息,对每一次监控所得到的信息进行记录形成该测试子服务器的周期监控信息,可判断周期监控信息是否满足容量检测条件,其中,容量检测条件可以是数据处理响应时间大幅升高、接口调用响应时间大幅升高、极限容量值大幅下降、数据处理负载超出预设负载阈值,若满足上述任意一个判断条件则判定周期监控信息满足上述容量检测条件,并返回执行上述步骤S110,以重新对生产环境进行检测并获取生产环境总容量;否则判定周期监控信息不满足上述容量检测条件,并等待进行下一次监控。

例如,判断周期监控信息中数据处理响应时间是否大幅升高,可获取历次监控所得到的数据处理响应时间并计算得到历次数据处理响应时间的平均值及标准差,获取平均值与标准差之和得到本次监控的数据处理响应时间判断阈值,判断本次监控的数据处理响应时间是否超出数据处理响应时间判断阈值,若超出则判定周期监控信息中数据处理响应时间大幅升高,否则判定数据处理响应时间未大幅升高。

在一实施例中,如图9所示,步骤S150或S160之后还包括步骤S170。

S170、根据预存的历史流量信息及所述生产环境总容量从预存的调整策略集中获取与所述生产环境总容量相匹配的目标调整策略。

根据预存的历史流量信息及所述生产环境总容量从预存的调整策略集中获取与所述生产环境总容量相匹配的目标调整策略。具体的,管理服务器中预先存储有历史流量信息及调整策略集,历史流量信息为对管理服务器实时接收到的服务请求的数量进行统计所得到的流量信息,调整策略集即为用于存储各种调整策略的集合,调整策略即为对生产服务器集群进行调整的策略信息。具体的,可根据历史流量信息及生产环境总容量计算得到容量比值,并基于容量比值获取调整策略集中与容量比值相匹配的一个调整策略作为目标调整策略。

例如,对历史流量信息中的流量值进行排序,获取排序位于前10%的流量值中最小的一个流量值作为典型流量值,容量比值为典型流量值除以生产环境总容量,若容量比值为0.7,则表明此时生产环境可以满足实际使用需求且有一定容量空余,目标调整策略可以是适当缩减生产服务器集群规模;若容量比值为1.15,则表明此时生产环境无法满足实际使用需求,目标调整策略可以是扩大生产服务器集群规模。

还可以是,根据历史流量信息及生产环境总容量计算得到容量比值,根据测试极限容量值及极限容量值计算得到子服务器比值,并基于容量比值及子服务器比值获取调整策略集中相匹配的一个调整策略作为目标调整策略。

例如,子服务器比值为测试极限容量值除以极限容量值,容量比值为1.15且子服务器比值为1.4,目标调整策略为通过增加生产子服务器的处理性能(增加处理芯片核心数、增大数据传输带宽等)以提高生产环境总容量;容量比值为1.15且子服务器比值为1.03,目标调整策略为通过增加生产子服务器的数量以提高生产环境总容量。

本申请中的技术方法可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通等包含对生产环境容量进行检测的应用场景中,从而推动智慧城市的建设。

在本发明实施例所提供的生产环境容量检测方法中,根据容量检测指令选择生产环境的一台目标子服务器进行容量测试得到生产容量曲线并从中获取满足容量获取条件的极限容量值,获取测试环境中任意一台测试子服务器的测试极限容量值并根据测试子服务器的数量对测试环境进行放大测试,若测试环境在放大测试时正常运行则根据极限容量值同步放大得到生产环境总容量,若测试环境在放大测试时无法正常运行,获取测试总容量并对极限容量值进行等比例缩放得到生产环境总容量。通过上述方法,基于生产流量对一台目标子服务器及一台测试子服务器分别进行极限压力测试,并通过输入生产流量以在测试环境中模拟真实环境下生产服务器集群的测试极限总容量,基于测试极限容量对应获取生产环境总容量以对生产环境进行容量检测,可不中断生产环境的服务对生产环境容量准确高效地进行检测。

本发明实施例还提供一种生产环境容量检测装置,该生产环境容量检测装置用于执行前述生产环境容量检测方法的任一实施例。具体地,请参阅图10,图10是本发明实施例提供的生产环境容量检测装置的示意性框图。该生产环境容量检测装置可配置于管理服务器10中。

如图10所示,生产环境容量检测装置100包括生产容量曲线获取单元110、极限容量值获取单元120、测试极限容量值获取单元130、放大测试单元140、第一容量获取单元150和第二容量获取单元160。

生产容量曲线获取单元110,用于若接收到管理员所输入的容量检测指令,根据所述容量检测指令选择所述生产环境中的一台生产子服务器作为目标子服务器进行容量测试以得到所述目标子服务器的生产容量曲线。

在一实施例中,所述生产容量曲线获取单元110包括子单元:随机选择单元、生产流量分配单元和生产容量曲线生成单元。

随机选择单元,用于随机选择所述生产环境中的一台生产子服务器作为目标子服务器;生产流量分配单元,用于持续增大所述目标子服务器的权重值,以根据所述权重值持续增加分配至所述目标子服务器的生产流量;生产容量曲线生成单元,用于获取所述目标子服务器的服务器状态信息与所述生产流量之间的对应关系以生成所述生产容量曲线。

在一实施例中,所述生产容量曲线获取单元110包括子单元:服务器状态信息获取单元、生产子服务器筛选单元、生产流量分配单元和生产容量曲线生成单元。

服务器状态信息获取单元,用于发送状态获取请求至所述生产环境,以获取所述生产环境反馈的每一生产子服务器的服务器状态信息;生产子服务器筛选单元,用于获取服务器状态信息满足所述筛选条件的一台生产子服务器作为所述目标子服务器;生产流量分配单元,用于持续增大所述目标子服务器的权重值,以根据所述权重值持续增加分配至所述目标子服务器的生产流量;生产容量曲线生成单元,用于获取所述目标子服务器的服务器状态信息与所述生产流量之间的对应关系以生成所述生产容量曲线。

极限容量值获取单元120,用于根据所述容量检测指令中的容量获取条件从所述生产容量曲线中获取满足所述容量获取条件的极限容量值。

在一实施例中,所述极限容量值获取单元120包括子单元:曲线斜率值计算单元、时间段获取单元和处理速率获取单元。

曲线斜率值计算单元,用于计算所述平均响应时间曲线中每一时间点的曲线斜率值;时间段获取单元,用于获取所述平均响应时间曲线中曲线斜率值大于所述斜率阈值的时间段;处理速率获取单元,用于获取所述流量处理速率曲线中与所述时间段相匹配的曲线段,并获取所述曲线段中的最大流量处理速率作为所述极限容量值。

测试极限容量值获取单元130,用于从所述生产环境中获取生产流量副本输入所述测试环境中的任意一台测试子服务器并获取满足所述容量获取条件的测试极限容量值。

放大测试单元140,用于根据所述测试极限容量值及所述测试环境所包含测试子服务器的数量进行放大测试并根据预置的状态阈值信息判断所述测试环境是否正常运行。

在一实施例中,所述放大测试单元140包括子单元:方法测试值计算单元、集群状态信息获取单元和运行判断单元。

方法测试值计算单元,用于根据所述测试极限容量值及所述测试子服务器的数量计算放大测试值;集群状态信息获取单元,用于从所述生产环境中获取与所述放大测试值相匹配的生产流量副本输入所述测试环境的测试服务器集群并获取集群状态信息;运行判断单元,用于根据所述状态阈值信息对所述集群状态信息进行判断以获取所述测试环境是否正常运行的判断结果。

第一容量获取单元150,用于若所述测试环境正常运行,根据所述生产环境所包含生产子服务器的数量对所述所述极限容量值进行同步放大以得到生产环境总容量。

第二容量获取单元160,用于若所述测试环境无法正常运行,获取所述测试环境的测试总容量并根据所述极限容量值、所述测试极限容量值、所述生产子服务器的数量及所述测试子服务器的数量对所述测试总容量进行等比例缩放以得到生产环境总容量。

在一实施例中,所述生产环境容量检测装置100还包括子单元:周期监控信息获取单元和周期监控信息判断单元。

周期监控信息获取单元,用于对所述测试环境中的任意一台测试子服务器的测试极限容量值及运行状态进行周期性监控得到所述测试子服务器的周期监控信息;周期监控信息判断单元,用于实时判断所述周期监控信息是否满足预设的容量检测条件,若满足则返回执行所述根据所述容量检测指令选择所述生产环境中的一台生产子服务器作为目标子服务器进行容量测试以得到所述目标子服务器的生产容量曲线的步骤。

在一实施例中,所述生产环境容量检测装置100还包括子单元:目标调整策略匹配单元。

目标调整策略匹配单元,用于根据预存的历史流量信息及所述生产环境总容量从预存的调整策略集中获取与所述生产环境总容量相匹配的目标调整策略。

在本发明实施例所提供的生产环境容量检测装置应用上述生产环境容量检测方法,根据容量检测指令选择生产环境的一台目标子服务器进行容量测试得到生产容量曲线并从中获取满足容量获取条件的极限容量值,获取测试环境中任意一台测试子服务器的测试极限容量值并根据测试子服务器的数量对测试环境进行放大测试,若测试环境在放大测试时正常运行则根据极限容量值同步放大得到生产环境总容量,若测试环境在放大测试时无法正常运行,获取测试总容量并对极限容量值进行等比例缩放得到生产环境总容量。通过上述方法,基于生产流量对一台目标子服务器及一台测试子服务器分别进行极限压力测试,并通过输入生产流量以在测试环境中模拟真实环境下生产服务器集群的测试极限总容量,基于测试极限容量对应获取生产环境总容量以对生产环境进行容量检测,可不中断生产环境的服务对生产环境容量准确高效地进行检测。

上述生产环境容量检测装置可以实现为计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。

请参阅图11,图11是本发明实施例提供的计算机设备的示意性框图。该计算机设备可以是用于执行生产环境容量检测方法对生产环境进行容量检测的管理服务器10。

参阅图11,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行生产环境容量检测方法。

该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行生产环境容量检测方法。

该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现上述的生产环境容量检测方法中对应的功能。

本领域技术人员可以理解,图11中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。

应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现上述的生产环境容量检测方法中所包含的步骤。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 生产环境容量检测方法、装置、计算机设备及存储介质
  • 瓶盖的检测方法及设备、生产线、计算机设备、存储介质
技术分类

06120112340742