CN116701072A - 故障测试方法、装置、存储介质及电子设备 - Google Patents
故障测试方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116701072A CN116701072A CN202310468735.6A CN202310468735A CN116701072A CN 116701072 A CN116701072 A CN 116701072A CN 202310468735 A CN202310468735 A CN 202310468735A CN 116701072 A CN116701072 A CN 116701072A
- Authority
- CN
- China
- Prior art keywords
- server
- load balancing
- service
- fault
- service processing
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 138
- 238000012545 processing Methods 0.000 claims abstract description 140
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000010485 coping Effects 0.000 abstract description 14
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 10
- 238000010998 test method Methods 0.000 description 10
- 230000000739 chaotic effect Effects 0.000 description 8
- 239000000243 solution Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
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
-
- 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/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请公开了一种故障测试方法、装置、存储介质及电子设备,其中方法包括:将当前故障类型对应的混沌测试用例发送至业务系统中的负载均衡服务器;接收所述业务系统中的各个业务处理服务器发送的业务处理结果;基于各个业务处理服务器的业务处理结果,确定所述负载均衡服务器的运行状态;基于所述负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定所述业务系统在所述当前故障类型下的测试结果。本申请提供的方法和装置,可以提高业务系统的故障应对能力。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种故障测试方法、装置、存储介质及电子设备。
背景技术
近年来随着大数据、云计算、物联网和人工智能等新兴领域的兴起,服务间的负载均衡越来越受到行业关注以及重视。负载均衡,其含义就是指将负载(业务处理任务)进行平衡、分摊到多个服务器上进行运行,例如分摊到支持文件传输协议(File TransferProtocol,FTP)的服务器、网络服务器(Web server)、企业核心应用服务器和其它主要任务服务器等,从而协同完成业务。
混沌实验是近年来在软件测试领域兴起的研究方向。混沌实验主要用于观察微服务软件系统在有随机故障注入的情况下是否具备应对故障的能力。
现有的混沌实验仅能对负载均衡服务做常规的性能测试,而没有对业务系统中的负载均衡服务器注入故障进行测试,而业务系统的故障处理性能对于业务的成功执行至关重要,一旦负载均衡服务器遭遇故障,业务系统又没有有效的应对机制,业务系统的运行受到影响,会给用户带来严重损失。
因此,如何在负载均衡服务器遭遇故障时,确定业务系统是否受到影响成为业界亟待解决的技术问题。
发明内容
本申请提供一种故障测试方法、装置、存储介质及电子设备,用以解决现有技术中如何在负载均衡服务器遭遇故障时,确定业务系统是否受到影响的技术问题。
第一方面,本申请提供了一种故障测试方法,包括:
将当前故障类型对应的混沌测试用例发送至业务系统中的负载均衡服务器;
接收所述业务系统中的各个业务处理服务器发送的业务处理结果;
基于各个业务处理服务器的业务处理结果,确定所述负载均衡服务器的运行状态;
基于所述负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定所述业务系统在所述当前故障类型下的测试结果。
在一些实施例中,所述当前故障类型包括硬件故障,所述硬件故障对应的混沌测试用例包括:
所述负载均衡服务器的处理器占用率超过预设值、所述负载均衡服务器的内存溢出或数据读写异常。
在一些实施例中,所述当前故障类型包括流量故障,所述流量故障对应的混沌测试用例包括:
向所述负载均衡服务器发送业务请求,所述业务请求的数量大于或等于所述负载均衡服务器的业务请求处理阈值。
在一些实施例中,所述负载均衡服务器包括主用服务器和备用服务器;所述当前故障类型包括切换故障,所述切换故障对应的混沌测试用例包括:
将当前的主用服务器切换至所述备用服务器;
或者,将当前的备用服务器切换至所述主用服务器;
或者,切换所述负载均衡服务器的业务请求的调度算法。
在一些实施例中,所述当前故障类型包括路由故障,所述路由故障对应的混沌测试用例包括:
删除所述负载均衡服务器的路由表;
或者,停止运行所述负载均衡服务器的路由表中的任一服务节点。
在一些实施例中,所述当前故障类型包括并发故障,所述并发故障对应的混沌测试用例包括:
调整所述负载均衡服务器的主用服务器的并发连接数,并重启所述负载均衡服务器的主用服务器。
在一些实施例中,所述基于所述负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定所述业务系统在所述当前故障类型下的测试结果,包括:
在所述负载均衡服务器的运行状态为异常状态的情况下,确定各个业务处理服务器处理失败的业务数量;
基于所述处理失败的业务总数量与预设业务数量的比值大小,确定所述业务系统在所述当前故障类型下的第一测试结果;
基于业务处理失败的业务处理服务器数量与业务处理服务器总数量的比值大小,确定所述业务系统在所述当前故障类型下的第二测试结果;
基于所述第一测试结果和所述第二测试结果确定所述业务系统在所述当前故障类型下的测试结果。
第二方面,本申请提供了一种故障测试装置,包括:
发送模块,用于将当前故障类型对应的混沌测试用例发送至业务系统中的负载均衡服务器;
接收模块,用于接收所述业务系统中的各个业务处理服务器发送的业务处理结果;
第一确定模块,用于基于各个业务处理服务器的业务处理结果,确定所述负载均衡服务器的运行状态;
第二确定模块,基于所述负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定所述业务系统在所述当前故障类型下的测试结果。
第三方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。
第四方面,本申请提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述程序时实现上述的方法。
本申请提供的故障测试方法、装置、存储介质及电子设备,通过向业务系统中的负载均衡服务器中注入当前故障类型对应的混沌测试用例,获取业务处理服务器发送的业务处理结果,可以得到在当前故障类型下负载均衡处理器的运行状态;根据各个业务处理服务器的业务处理结果和负载均衡处理器的运行状态可以提前预知业务系统在面对各种故障类型时的受影响程度和受影响范围,能够提高业务系统应对故障的能力,提高业务系统的稳定性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的故障测试方法的应用场景图;
图2为本申请一个实施例提供的故障测试方法的流程示意图;
图3是本申请另一个实施例提供的故障测试方法的流程示意图;
图4是本申请一个实施例提供的故障测试装置的结构示意图;
图5是本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
图1是本申请一个实施例提供的故障测试方法的应用场景图,如图1所示,本申请实施例的应用场景可以包括终端设备110、负载均衡服务器120和业务处理服务器130。终端设备110、负载均衡服务器120和业务处理服务器130之间可以通过网络实现通信。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
用户可以使用终端设备通过网络与负载均衡服务器和业务处理服务器交互,以接收或发送消息等。终端设备上可以安装有各种通讯客户端应用,例如业务处理应用。
终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。
负载均衡服务器可以是将业务处理任务进行拆分,并分发到多个业务处理服务器以实现负载均衡的服务器,例如Linux虚拟服务器(Linux Virtual Server,LVS)、F5服务器、HAproxy服务器或Nginx服务器等。
业务处理服务器可以是提供各种服务的服务器,例如对用户利用终端设备所浏览的网站提供支持的后台管理服务器。后台管理服务器可以对接收到的用户查询请求等数据进行分析和处理,并将处理结果(例如根据用户的业务请求获取或生成的业务处理结果等)反馈给终端设备。
需要说明的是,本申请实施例的业务系统包括终端设备、负载均衡服务器和业务处理服务器,所提供的故障测试方法一般可以由终端设备执行。相应地,本申请实施例所提供的故障测试装置一般可以设置于终端设备中。
应该理解,图1中的终端设备、负载均衡服务器和业务处理服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、负载均衡服务器和业务处理服务器。
需要注意的是,图1所示仅为可以应用本申请实施例的应用场景的示例,以帮助本领域技术人员理解本申请的技术内容,但并不意味着本申请实施例不可以用于其他设备、系统、环境或场景。
图2是本申请一个实施例提供的故障测试方法的流程示意图,如图2所示,该方法包括步骤210、步骤220、步骤230和步骤240。该方法流程步骤仅仅作为本申请一个可能的实现方式。
步骤210、将当前故障类型对应的混沌测试用例发送至业务系统中的负载均衡服务器。
具体地,本申请实施例提供的故障测试方法的执行主体为故障测试装置,该装置可以为终端设备中独立设置的硬件设备,也可以为运行在终端设备中的软件程序。例如,当终端设备为手机时,故障测试装置可以体现为手机中的软件等应用程序。
为了获取负载均衡服务器在注入各类故障时,该负载均衡服务器对应的业务系统的测试结果,本申请实施例设置了多种故障类型。例如,当前故障类型包括:硬件故障、流量故障、切换故障、路由故障和并发故障等。每一故障类型对应有至少一个混沌测试用例。
混沌测试用例是模拟该负载均衡服务器的异常情况的测试用例。混沌测试用例可以是根据业务系统的历史故障和/或实际应用场景来确定的。例如利用机器学习的方式,通过学习模型对负载均衡服务器的各类故障场景进行学习生成混沌测试用例。
可以在业务系统正常运行时,向负载均衡服务器注入混沌测试用例。
步骤220、接收业务系统中的各个业务处理服务器发送的业务处理结果。
具体地,业务处理结果包括业务处理成功和业务处理失败。
将混沌测试用例发送至业务系统中的负载均衡服务器后,业务系统可能有相应的应对策略对当前故障进行修复,从而使各个业务处理服务器能够正常地处理业务,业务能够成功处理。
将混沌测试用例发送至业务系统中的负载均衡服务器后,业务系统也可能对当前故障类型对应的混沌测试用例没有相应的应对策略,使得至少一个业务处理服务器无法正常地处理业务,导致业务处理失败。
各个业务处理服务器对业务进行处理后,将业务处理结果发送至故障测试装置,故障测试装置可以对业务处理结果进行解析。
步骤230、基于各个业务处理服务器的业务处理结果,确定负载均衡服务器的运行状态。
具体地,故障测试装置可以对业务处理结果进行解析,从而确定负载均衡服务器的运行状态。运行状态包括正常状态和异常状态。
若各个业务处理服务器均能成功地处理业务,则确定负载均衡服务器的运行状态为正常状态;若任一业务处理服务器业务处理失败,则确定负载均衡服务器的运行状态为异常状态。
步骤240、基于负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定业务系统在当前故障类型下的测试结果。
具体地,若负载均衡服务器的运行状态为正常状态,即业务系统在注入当前混沌测试用例的情况下还能够正常地处理业务,则表明业务系统不受当前故障类型对应的混沌测试用例的影响。
若负载均衡服务器的运行状态为异常状态,即业务系统在注入当前混沌测试用例的情况下不能够正常地处理业务,则表明业务系统受到当前故障类型对应的混沌测试用例的影响。
可以根据业务处理失败的业务处理服务器的比例和/或处理失败的业务总数量来确定业务系统在当前故障类型下的受影响程度和受影响范围,并根据影响程度和影响范围生成测试结果。
本申请实施例提供的故障测试方法,通过向业务系统中的负载均衡服务器中注入当前故障类型对应的混沌测试用例,获取业务处理服务器发送的业务处理结果,可以得到在当前故障类型下负载均衡处理器的运行状态;根据各个业务处理服务器的业务处理结果和负载均衡处理器的运行状态可以提前预知业务系统在面对各种故障类型时的受影响程度和受影响范围,能够提高业务系统应对故障的能力,提高业务系统的稳定性。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,当前故障类型包括硬件故障,硬件故障对应的混沌测试用例包括:
负载均衡服务器的处理器占用率超过预设值、负载均衡服务器的内存溢出或数据读写异常。
具体地,当前故障类型可以包括硬件故障。硬件故障可以包括负载均衡服务器异常。
例如,硬件故障对应的混沌测试用例可以包括,负载均衡服务器的处理器占用率超过预设值,。预设值可以根据负载均衡服务器的处理器的处理能力来设定。
又例如,硬件故障对应的混沌测试用例可以包括,在负载均衡服务器中加载数据,数据的数量大于或等于负载均衡服务器的内存设置值,使得负载均衡服务器内存溢出;或者在负载均衡服务器中运行漏洞程序,使得服务器数据读写异常。
本申请实施例提供的故障测试方法,通过对负载均衡服务器注入硬件故障,可以确定业务系统在面对硬件故障时,能否生成对应的策略来及时处理硬件故障,从而正常地执行业务,提高了业务系统应对故障的能力,提高业务系统的稳定性。
在一些实施例中,当前故障类型包括流量故障,流量故障对应的混沌测试用例包括:
向负载均衡服务器发送业务请求,业务请求的数量大于或等于负载均衡服务器的业务请求处理阈值。
具体地,当前故障类型可以包括流量故障。可以在业务系统正常运行时,模拟黑客攻击,向负载均衡服务器发送大量的业务请求。其中,业务请求的数量大于或等于负载均衡服务器的业务请求处理阈值。业务请求处理阈值可以是根据负载均衡服务器的业务属性来确定的。
本申请实施例提供的故障测试方法,通过对负载均衡服务器注入流量故障,可以确定业务系统在面对流量故障时,能否生成对应的策略来及时处理流量故障,从而正常地执行业务,提高了业务系统应对故障的能力,提高业务系统的稳定性。
在一些实施例中,负载均衡服务器包括主用服务器和备用服务器;当前故障类型包括切换故障,切换故障对应的混沌测试用例包括:
将当前的主用服务器切换至备用服务器;
或者,将当前的备用服务器切换至主用服务器;
或者,切换负载均衡服务器的业务请求的调度算法。
具体地,当前故障可以包括切换故障。切换故障对应的混沌测试用例可以包括,在业务系统正常运行时,将负载均衡服务器的主用服务器和备用服务器依次重启。
切换故障对应的混沌测试用例还可以包括调度算法切换。在业务系统中调度是指一种资源分配,因而调度算法是指,根据业务系统的资源分配策略所规定的资源分配算法。
调度算法切换可以包括,在业务系统正常运行时,将负载均衡服务器的调度算法从第一调度算法切换到第二调度算法,并验证当前负载均衡服务器中的调度算法是否为切换后的第二调度算法。
例如,第一调度算法为加权轮叫调度算法,第二调度算法为最小连接调度算法。在业务系统正常运行时,将负载均衡服务器的加权轮叫调度算法切换到最小连接调度算法,验证当前负载均衡服务器中的调度算法是否为最小连接调度算法。
或者,在业务系统正常运行时,将负载均衡服务器的调度算法从第一调度算法切换到第二调度算法,将负载均衡服务器进行重启,并验证当前负载均衡服务器中的调度算法是否为切换后的第二调度算法。
本申请实施例提供的故障测试方法,通过对负载均衡服务器注入切换故障,可以确定业务系统在面对切换故障时,能否生成对应的策略来及时处理切换故障,从而正常地执行业务,提高了业务系统应对故障的能力,提高业务系统的稳定性。
在一些实施例中,当前故障类型包括路由故障,路由故障对应的混沌测试用例包括:
删除负载均衡服务器的路由表;
或者,停止运行负载均衡服务器的路由表中的任一服务节点。
具体地,在负载均衡服务器中,路由表(routing table)或称路由择域信息库(RIB,Routing Information Base),是一个存储在负载均衡服务器的路由器中的电子表格(文件)或数据库。路由表存储着指向业务处理服务器地址的路径。
本申请实施例的当前故障类型包括路由故障。路由故障对应的混沌测试用例可以包括,在业务系统正常运行的过程中,删除负载均衡服务器的路由表。可以根据业务处理结果来确定负载均衡服务器能否调整路径使得整个业务系统正常运行。
路由故障对应的混沌测试用例还包括,在负载均衡服务器正常运行时,停止运行负载均衡服务器的路由表中的任一服务节点。
本申请实施例中的服务节点为业务处理服务器。在任一业务处理服务器停止运行时,可以根据业务的处理结果来确定负载均衡服务器是否调整路径将业务顺利分配到还在运行的业务处理服务器,使得整个业务系统正常运行。
本申请实施例提供的故障测试方法,通过对负载均衡服务器注入路由故障,可以确定业务系统在面对路由故障时,能否生成对应的策略来及时处理路由故障,从而正常地执行业务,提高了业务系统应对故障的能力,提高业务系统的稳定性。
在一些实施例中,当前故障类型包括并发故障,并发故障对应的混沌测试用例包括:
调整负载均衡服务器的主用服务器的并发连接数,并重启负载均衡服务器的主用服务器。
具体地,本申请实施例的故障类型包括并发故障。并发故障对应的混沌测试用例可以包括,在负载均衡服务器正常运行时,只调整负载均衡服务器的主用服务器的并发连接数,并重启负载均衡服务器的主用服务器。
例如,调整LVS的主用服务器的IP虚拟服务器(IP Virtual Server,IPVS)模块哈希表(hash table)的大小,重启LVS的主用服务器。此时,LVS的备用服务器不进行hashtable的调整,不重启。
本申请实施例提供的故障测试方法,通过对负载均衡服务器注入并发故障,可以确定业务系统在面对并发故障时,能否生成对应的策略来及时处理并发故障,从而正常地执行业务,提高了业务系统应对故障的能力,提高业务系统的稳定性。
在一些实施例中,步骤240包括:
在负载均衡服务器的运行状态为异常状态的情况下,确定各个业务处理服务器处理失败的业务数量;
基于处理失败的业务总数量与预设业务数量的比值大小,确定业务系统在当前故障类型下的第一测试结果;
基于业务处理失败的业务处理服务器数量与业务处理服务器总数量的比值大小,确定业务系统在当前故障类型下的第二测试结果;
基于第一测试结果和第二测试结果确定业务系统在当前故障类型下的测试结果;
其中,预设业务数量是基于将混沌测试用例发送至负载均衡服务器前,各个业务处理服务器处理成功的业务总数量确定的。
预设业务数量预设业务数量具体地,负载均衡服务器的运行状态为异常状态,即业务系统受到了当前混沌测试用例的影响,不能够正常地处理业务。则确定各个业务处理服务器处理失败的业务数量,得到处理失败的业务总数量。
将处理失败的业务总数量与预设业务数量进行对比,两者的比值越大,表明业务系统在当前故障类型下的受影响程度越高。可以根据业务系统受到的影响程度生成业务系统在当前故障类型下的第一测试结果。
还可以确定业务处理失败的业务处理服务器数量,将业务处理失败的业务处理服务器数量与业务处理服务器总数量进行对比,两者的比值越大,表明业务系统在当前故障类型下的受影响范围越大,可以根据业务系统的受影响范围生成业务系统在当前故障类型下的第二测试结果。
根据业务系统受到的影响程度和影响范围生成业务系统在当前故障类型下的测试结果。
可以在混沌测试用例发送至负载均衡服务器前,运行业务系统来处理业务,在预设时长内,确定各个业务处理服务器处理成功的业务总数量,得到预设业务数量。然后将混沌测试用例发送至负载均衡服务器后,在同样的预设时长内,结束故障测试。
本申请实施例提供的故障测试方法,通过在负载均衡服务器的运行状态和业务处理服务器的运行状态均为异常状态的情况下,获取处理失败的业务总数量和预设业务数量,可以得到业务系统的测试结果,可以提高业务系统应对故障的能力。
在一些实施例中,图3是本申请另一个实施例提供的故障测试方法的流程示意图,以负载均衡服务器为LVS为例,如图3所示,该方法包括:
步骤310、启动业务系统,启动LVS,LVS根据业务请求生成各个业务处理任务并分配至各个业务处理服务器,监测业务系统的运行状态并统计处理成功的业务数量,记为预设业务数量。
步骤320、分步骤注入各个故障类型对应的混沌测试用例,记录注入的当前故障类型。
步骤330、注入当前故障类型对应的混沌测试用例后监控各个业务处理服务器的业务处理结果。根据业务处理结果判断负载均衡服务器的运行状态是否为异常状态。
步骤340、若步骤330中的负载均衡服务器的运行状态不是异常状态,记录该步骤的测试结果,流程结束。
步骤350、若步骤330的负载均衡服务器的运行状态为异常状态,则记录处理失败的业务数量。
步骤360、汇总混沌测试结果。汇总注入各类故障前的业务系统的运行状态,整个测试期间处理成功的业务数量,注入故障后处理失败的业务数量,注入的故障类型,统计各个故障类型对业务系统的影响范围和影响程度。流程结束。
本申请实施例提供的故障测试方法,能够通过各类故障模拟各种复杂的线上环境,通过给负载均衡服务器注入各个故障乐行对应的混沌测试用例,获取到各种故障类型下负载均衡服务器的运行状态以及业务处理服务器的业务处理结果,能够更好地保障业务系统稳定运行。
下面对本申请实施例提供的故障测试装置进行描述,下文描述的故障测试装置与上文描述的故障测试方法可相互对应参照。
图4是本申请一个实施例提供的故障测试装置的结构示意图,如图4所示,该装置包括发送模块410、接收模块420、第一确定模块430和第二确定模块440。
发送模块,用于将当前故障类型对应的混沌测试用例发送至业务系统中的负载均衡服务器;
接收模块,用于接收业务系统中的各个业务处理服务器发送的业务处理结果;
第一确定模块,用于基于各个业务处理服务器的业务处理结果,确定负载均衡服务器的运行状态;
第二确定模块,基于负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定业务系统在当前故障类型下的测试结果。
具体地,根据本申请的实施例,发送模块、接收模块、第一确定模块和第二确定模块中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。
或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本申请的实施例,发送模块、接收模块、第一确定模块和第二确定模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。
或者,发送模块、接收模块、第一确定模块和第二确定模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本申请实施例提供的故障测试装置,通过向业务系统中的负载均衡服务器中注入当前故障类型对应的混沌测试用例,获取业务处理服务器发送的业务处理结果,可以得到在当前故障类型下负载均衡处理器的运行状态;根据各个业务处理服务器的业务处理结果和负载均衡处理器的运行状态可以提前预知业务系统在面对各种故障类型时的受影响程度和受影响范围,能够提高业务系统应对故障的能力,提高业务系统的稳定性。
在一些实施例中,故障测试装置还包括故障模块,用于负载均衡服务器的处理器占用率超过预设值、负载均衡服务器的内存溢出或数据读写异常。
在一些实施例中,故障模块,还用于向负载均衡服务器发送业务请求,业务请求的数量大于或等于负载均衡服务器的业务请求处理阈值。
在一些实施例中,故障模块,还用于将当前的主用服务器切换至备用服务器;或者,将当前的备用服务器切换至主用服务器;或者,切换负载均衡服务器的业务请求的调度算法。
在一些实施例中,故障模块,还用于删除负载均衡服务器的路由表;或者,停止运行负载均衡服务器的路由表中的任一服务节点。
在一些实施例中,故障模块,还用于调整负载均衡服务器的主用服务器的并发连接数,并重启负载均衡服务器的主用服务器。
在一些实施例中,第二确定模块具体用于:
在负载均衡服务器的运行状态为异常状态的情况下,确定各个业务处理服务器处理失败的业务数量;基于处理失败的业务总数量与预设业务数量的比值大小,确定业务系统在当前故障类型下的第一测试结果;基于业务处理失败的业务处理服务器数量与业务处理服务器总数量的比值大小,确定业务系统在当前故障类型下的第二测试结果;基于第一测试结果和第二测试结果确定业务系统在当前故障类型下的测试结果;其中,预设业务数量是基于将混沌测试用例发送至负载均衡服务器前,各个业务处理服务器处理成功的业务总数量确定的。
预设业务数量预设业务数量在此需要说明的是,本申请实施例提供的故障测试装置,能够实现上述故障测试方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图5为本申请一个实施例提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(Processor)510、通信接口(Communications Interface)520、存储器(Memory)530和通信总线(Communications Bus)540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑命令,以执行故障测试方法,该方法包括:
将当前故障类型对应的混沌测试用例发送至业务系统中的负载均衡服务器;
接收业务系统中的各个业务处理服务器发送的业务处理结果;
基于各个业务处理服务器的业务处理结果,确定负载均衡服务器的运行状态;
基于负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定业务系统在当前故障类型下的测试结果。
此外,上述的存储器中的逻辑命令可以通过软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例还提供一种非暂态计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种故障测试方法,其特征在于,包括:
将当前故障类型对应的混沌测试用例发送至业务系统中的负载均衡服务器;
接收所述业务系统中的各个业务处理服务器发送的业务处理结果;
基于各个业务处理服务器的业务处理结果,确定所述负载均衡服务器的运行状态;
基于所述负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定所述业务系统在所述当前故障类型下的测试结果。
2.根据权利要求1所述的故障测试方法,其特征在于,所述当前故障类型包括硬件故障,所述硬件故障对应的混沌测试用例包括:
所述负载均衡服务器的处理器占用率超过预设值、所述负载均衡服务器的内存溢出或数据读写异常。
3.根据权利要求1所述的故障测试方法,其特征在于,所述当前故障类型包括流量故障,所述流量故障对应的混沌测试用例包括:
向所述负载均衡服务器发送业务请求,所述业务请求的数量大于或等于所述负载均衡服务器的业务请求处理阈值。
4.根据权利要求1所述的故障测试方法,其特征在于,所述负载均衡服务器包括主用服务器和备用服务器;所述当前故障类型包括切换故障,所述切换故障对应的混沌测试用例包括:
将当前的主用服务器切换至所述备用服务器;
或者,将当前的备用服务器切换至所述主用服务器;
或者,切换所述负载均衡服务器的业务请求的调度算法。
5.根据权利要求1所述的故障测试方法,其特征在于,所述当前故障类型包括路由故障,所述路由故障对应的混沌测试用例包括:
删除所述负载均衡服务器的路由表;
或者,停止运行所述负载均衡服务器的路由表中的任一服务节点。
6.根据权利要求1所述的故障测试方法,其特征在于,所述当前故障类型包括并发故障,所述并发故障对应的混沌测试用例包括:
调整所述负载均衡服务器的主用服务器的并发连接数,并重启所述负载均衡服务器的主用服务器。
7.根据权利要求1所述的故障测试方法,其特征在于,所述基于所述负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定所述业务系统在所述当前故障类型下的测试结果,包括:
在所述负载均衡服务器的运行状态为异常状态的情况下,确定各个业务处理服务器处理失败的业务数量;
基于所述处理失败的业务总数量与预设业务数量的比值大小,确定所述业务系统在所述当前故障类型下的第一测试结果;
基于业务处理失败的业务处理服务器数量与业务处理服务器总数量的比值大小,确定所述业务系统在所述当前故障类型下的第二测试结果;
基于所述第一测试结果和所述第二测试结果确定所述业务系统在所述当前故障类型下的测试结果。
8.一种故障测试装置,其特征在于,包括:
发送模块,用于将当前故障类型对应的混沌测试用例发送至业务系统中的负载均衡服务器;
接收模块,用于接收所述业务系统中的各个业务处理服务器发送的业务处理结果;
第一确定模块,用于基于各个业务处理服务器的业务处理结果,确定所述负载均衡服务器的运行状态;
第二确定模块,基于所述负载均衡服务器的运行状态和各个业务处理服务器的业务处理结果,确定所述业务系统在所述当前故障类型下的测试结果。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的故障测试方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7任一项所述的故障测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310468735.6A CN116701072A (zh) | 2023-04-27 | 2023-04-27 | 故障测试方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310468735.6A CN116701072A (zh) | 2023-04-27 | 2023-04-27 | 故障测试方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701072A true CN116701072A (zh) | 2023-09-05 |
Family
ID=87830125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310468735.6A Pending CN116701072A (zh) | 2023-04-27 | 2023-04-27 | 故障测试方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701072A (zh) |
-
2023
- 2023-04-27 CN CN202310468735.6A patent/CN116701072A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10048996B1 (en) | Predicting infrastructure failures in a data center for hosted service mitigation actions | |
CN108023967B (zh) | 一种数据平衡方法、装置及分布式存储系统中的管理设备 | |
CN111049695A (zh) | 云网关配置方法和系统 | |
CN105511805A (zh) | 集群文件系统的数据处理方法和装置 | |
US11507439B1 (en) | Application programming interface as a service | |
CN104137085A (zh) | 集群环境中用于控制客户端对服务的访问的方法 | |
CN105450759A (zh) | 一种系统镜像的管理方法和装置 | |
CN110278192A (zh) | 外网访问内网的方法、装置、计算机设备及可读存储介质 | |
CN113127192A (zh) | 一种多个服务共享同一个gpu的方法、系统、设备及介质 | |
US10218659B1 (en) | Persistent connections for email web applications | |
Alahmad et al. | VNF placement strategy for availability and reliability of network services in NFV | |
US8438277B1 (en) | Systems and methods for preventing data inconsistency within computer clusters | |
CN111651320A (zh) | 一种高并发连接方法和系统 | |
CN113821168A (zh) | 一种共享存储迁移系统、方法及电子设备和存储介质 | |
CN115766405B (zh) | 一种故障处理方法、装置、设备和存储介质 | |
CN114430894A (zh) | 通过扫描规则引擎最小化生产中断 | |
CN116701072A (zh) | 故障测试方法、装置、存储介质及电子设备 | |
CN105338058A (zh) | 一种应用更新的方法及装置 | |
CN116346728A (zh) | 低代码平台限流方法及装置 | |
CN106357704A (zh) | 一种基于开发环境的服务调用方法及装置 | |
US8935695B1 (en) | Systems and methods for managing multipathing configurations for virtual machines | |
CN116192885A (zh) | 高可用集群架构人工智能实验云平台数据处理方法及系统 | |
CN109002373A (zh) | 数据库连接异常处理方法及装置 | |
Garraghan et al. | Byzantine fault-tolerance in federated cloud computing | |
CN106027639B (zh) | 一种paas平台的广域网访问方法及装置 |
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 |