业务系统的线上压力测试的方法、装置及服务器制造方法及图纸

技术编号:20841572 阅读:22 留言:0更新日期:2019-04-13 08:38
本说明书实施例公开了一种业务系统的线上压力测试的方法,为系统链路中的每个资源设定对应的资源阈值,且在进行压力测试过程中检测每个资源的资源实际值是否超过对应的资源阈值;在检测到任意一个资源的资源实际值超过对应的资源阈值时,停止压力测试,此时,当一个资源的资源实际值超过对应的资源阈值时,所述业务系统通常能够正常运转,此时停止压力测试,能够有效降低实际业务损失的概率。

【技术实现步骤摘要】
业务系统的线上压力测试的方法、装置及服务器
本说明书实施例涉及数据处理
,尤其涉及一种业务系统的线上压力测试的方法、装置及服务器。
技术介绍
现有业务系统为了确立系统稳定性,通常会在线上环境或生产环境下进行压力测试,即针对业务系统进行线上压力测试,而在进行线上压力测试过程中,在压测流量逐渐增大过程中,在压测流量超过了系统极限会发生系统报错,此时,会因为压测导致的系统报错会对实际业务造成损失。
技术实现思路
本说明书实施例提供了一种业务系统的线上压力测试的方法、装置及服务器,在压测流量到达系统资源极值前自动熔断压测过程,降低实际业务损失的概率。本说明书实施例第一方面提供了一种业务系统的线上压力测试的方法,包括:获取待压测的业务系统的系统链路;为所述系统链路中的每个资源设定对应的资源阈值;在对所述业务系统进行压力测试过程中检测每个资源的资源实际值是否超过对应的资源阈值;在检测到任意一个资源的资源实际值超过对应的资源阈值时,停止压力测试。本说明书实施例第二方面提供了一种业务系统的线上压力测试的装置,包括:系统链路获取单元,用于获取待压测的业务系统的系统链路;资源阈值设定单元,用于为所述系统链路中的每个资源设定对应的资源阈值;检测单元,用于在对所述业务系统进行压力测试过程中检测每个资源的资源实际值是否超过对应的资源阈值;控制单元,用于在检测到任意一个资源的资源实际值超过对应的资源阈值时,停止压力测试。本说明书实施例第三方面还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述业务系统的线上压力测试的方法的步骤。本说明书实施例第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时上述业务系统的线上压力测试的方法的步骤。本说明书实施例的有益效果如下:基于上述技术方案,为系统链路中的每个资源设定对应的资源阈值,且在进行压力测试过程中检测每个资源的资源实际值是否超过对应的资源阈值;在检测到任意一个资源的资源实际值超过对应的资源阈值时,停止压力测试,此时,当一个资源的资源实际值超过对应的资源阈值时,所述业务系统通常能够正常运转,此时停止压力测试,能够有效降低实际业务损失的概率。附图说明图1为本说明书实施例中业务系统的线上压力测试的应用场景示意图;图2为本说明书实施例中业务系统的线上压力测试的方法的方法流程图;图3为本说明书实施例中在对所述业务系统进行压力测试过程中检测每个资源的资源实际值是否超过对应的资源阈值的步骤流程图;图4为本说明书实施例中业务系统的线上压力测试装置的结构示意图;图5为本说明书实施例中服务器的结构示意图。具体实施方式为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。请参见图1,为本申请说明书实施例提供了一种业务系统的线上压力测试的应用场景示意图。压测服务器10和业务服务器20。压测服务器10中安装有压测系统100,业务服务器20中设置有业务系统200,通过压测系统100对业务系统200进行压力测试,以及在进行压力测试过程中订阅业务系统200中的每个资源的资源实际值;并实时检测是否存在一个系统资源的资源实际值超过对应的资源阈值;在检测到存在一个系统资源的资源实际值超过对应的资源阈值时,自动停止压力测试,如此,在一个资源的资源实际值超过对应的资源阈值时,所述业务系统通常能够正常运转,此时停止压力测试,能够有效降低实际业务损失的概率。第一方面,如图2所示,本说明书实施例提供一种业务系统的线上压力测试的方法,包括:S202、获取待压测的业务系统的系统链路;S204、为所述系统链路中的每个资源设定对应的资源阈值;S206、在对所述业务系统进行压力测试过程中检测每个资源的资源实际值是否超过对应的资源阈值;S208、在检测到任意一个资源的资源实际值超过对应的资源阈值时,停止压力测试。本说明书实施例中,所述业务系统可以包含多个子系统,所述系统链路为所述业务系统中完成某项功能/某个请求时经过的所有子系统。其中,在步骤S202中,可以通过设定流量的压测请求对所述业务系统进行链路探测,探测出所述系统链路,其中,所述设定流量为小于所述业务系统所能支撑的最大流量,例如所述业务系统的最大流量为每秒100万次请求即100万qps,所述设定流量可以为10qps、20qps等小于100万qps的值。具体来讲,在对所述业务系统进行链路探测时,可以首先针对所述业务系统编写对应的压测脚本,所述压测脚本包括需要进行压测的特征请求(即压测请求)和初始压测流量例如为10qps;在所述压测脚本编写完成之后,获取所述设定流量,然后通过所述设定流量的压测请求对所述业务系统进行链路探测,探测出所述系统链路。例如,以业务系统A为例,随机选取一个小流量例如20qps作为所述设定流量,然后通过20qps的压测请求对A进行链路探测,探测出A的系统链路包括a1子系统、a2子系统和a3子系统。接下来执行步骤S204,在该步骤中,可以自动或手动为每个资源设定对应的资源阈值。在所述系统链路包括多个子系统时,为所述系统链路中每个子系统的每个资源设定对应的资源阈值。本说明书实施例中,所述资源包括CPU、I/O、线程池和数据库连接池等。进一步地,在为每个资源设定对应的资源阈值时,每个资源的资源阈值小于该资源的资源极值,每个资源的资源极值为该资源能够负荷的最大值,例如cpu的资源极值为CPU使用率100%。具体来讲,在为每个资源设定对应的资源阈值时,可以首先获取每个资源的自身性能,以此来为每个资源设定对应的资源阈值。例如,以cpu为例,cpu的性能为2.2HZ,则为cpu设定对应的资源阈值可以为2.2HZ的90%、89%和85%等。相应地,以线程池为例,线程池中能设置的最大线程为100,则为该线程池设定对应的资源阈值为100的90%、85%和81%等。相应地,以数据库db连接池为例,若db连接池的最大数量为200,则可以为该db连接池设定对应的资源阈值为180、175和170等。接下来执行步骤S206,在该步骤中,可以按照传统压测流程对所述业务系统进行压力测试,在压力测试过程中订阅每个资源的资源实际值,并检测订阅的每个资源的资源实际值是否超过对应的资源阈值。本说明书实施例中,所述订阅每个资源的资源实际值指的是实时获取每个资源的资源实际值,在订阅每个资源的资源实际值时,可以每秒1次或者每5秒一次获取每个资源的资源实际值。具体来讲,在对所述业务系统进行压力测试时,可以在所述初始压测流量下对所述业务系统进行压力测试,然后逐渐提高压测流量来对所述业务系统进行压力测试,并同时订阅每个资源的资源实际值,然后检测每个资源的资源实际值是否超过对应的资源阈值。若检测到任意一个资源的资源实际值超过对应的资源阈值时,执行步骤S208;若检测到未存在任意一个资源的资源实际值超过对应的所述阈值阈值时,在间隔设定时间之后,提高压测流量对所述业务系统进行压力测试,直至检测到任本文档来自技高网...

【技术保护点】
1.一种业务系统的线上压力测试的方法,包括:获取待压测的业务系统的系统链路;为所述系统链路中的每个资源设定对应的资源阈值;在对所述业务系统进行压力测试过程中检测每个资源的资源实际值是否超过对应的资源阈值;在检测到任意一个资源的资源实际值超过对应的资源阈值时,停止压力测试。

【技术特征摘要】
1.一种业务系统的线上压力测试的方法,包括:获取待压测的业务系统的系统链路;为所述系统链路中的每个资源设定对应的资源阈值;在对所述业务系统进行压力测试过程中检测每个资源的资源实际值是否超过对应的资源阈值;在检测到任意一个资源的资源实际值超过对应的资源阈值时,停止压力测试。2.如权利要求1所述的方法,所述获取待压测的业务系统的系统链路,具体包括:通过设定流量的压测请求对所述业务系统进行链路探测,探测出所述系统链路。3.如权利要求1所述的方法,所述为所述系统链路中的每个资源设定对应的资源阈值,具体包括:在所述系统链路包括有多个子系统时,为所述系统链路中每个子系统的每个资源设定对应的资源阈值。4.如权利要求1所述的方法,在检测到任意一个资源的资源实际值超过对应的资源阈值时,所述方法还包括:将所述任意一个资源的资源实际值作为所述该资源的超标阈值并记录。5.权利要求1-4任一项所述的方法,每个资源的资源阈值小于该资源的资源极值。6.一种业务系统的线上压力测试的装置,包括:系统链路获取单元,用于获取待压测的业务系统的系统链路;资源阈值设定单元,用于为所述系统链路中的每个资源设...

【专利技术属性】
技术研发人员:李仁良
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1