一种检测系统性能的方法及装置的制造方法
【技术领域】
[0001]本申请涉及计算机技术领域,尤其涉及一种检测系统性能的方法及装置。
【背景技术】
[0002]目前,系统在进行稳定性测试时,一般采用基于传输控制协议(Transmiss1nControl Protocol,TCP)的请求复制工具(TCPcopy)技术。该技术通过在数据链层抓取请求数据,将线上的请求数据引流到待测试的系统中,通过对比待测试的系统对于请求数据的处理结果与预期处理结果,得到待测试的系统的性能是否稳定。
[0003]上述测试方法存在的问题在于,无法根据测试需要,模拟待测试的系统可能会遇到的各种异常场景。即,该测试方法的适用性较差。此外,上述测试方法也没有提供对于待测试的系统对应的线上系统的性能评估机制。
[0004]需要说明的是,待测试的系统与某个线上系统具备对应关系,是指待测试的系统与该线上系统完全相同;或者,待测试的系统是在该线上系统的基础上,对该线上系统的功能进行了增加、删除或修改的系统。
【发明内容】
[0005]本申请实施例提供一种检测系统性能的方法,用于解决现有的测试方法适用性较差,且不能提供线上系统的性能评估机制的问题。
[0006]本申请实施例还提供一种检测系统性能的装置,用于解决现有的测试方法适用性较差,且不能提供线上系统的性能评估机制的问题。
[0007]本申请实施例采用下述技术方案:
[0008]一种检测系统性能的方法,包括:
[0009]获取请求数据以及模拟类型;确定与所述模拟类型匹配的模拟对象,并对所述模拟对象进行模拟处理;其中,所述模拟对象为所述请求数据和/或待测试的系统;根据模拟处理后的模拟对象,得到第一处理结果;根据第一处理结果,得出和待测试的系统对应的线上系统的性能是否稳定。
[0010]一种检测系统性能的装置,包括:
[0011]请求数据引流单元,请求数据引流单元将线上系统接收到的请求数据复制并引流到待测试的系统中;模拟单元,用于对模拟对象进行模拟处理,根据模拟处理后的模拟对象,得到第一处理结果;数据对比分析单元,用于根据第一处理结果,得出和待测试的系统对应的线上系统的性能是否稳定。
[0012]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0013]由于运用模拟处理,可以在待测试的系统中模拟制造各种可能出现的场景,同时对根据得到的处理结果进行实时对比分析跟统计,解决现有的测试方法适用性较差,且不能提供线上系统的性能评估机制的问题。
【附图说明】
[0014]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0015]图1为本申请实施例提供的一种检测系统性能的方法的具体实现流程示意图;
[0016]图2为本申请实施例提供的一种检测系统性能的装置的具体结构示意图。
【具体实施方式】
[0017]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018]以下结合附图,详细说明本申请各实施例提供的技术方案。
[0019]实施例1
[0020]本实施例提供一种检测系统性能的方法,解决现有的测试方法适用性较差,且不能提供线上系统的性能评估机制的问题。该方法的具体实现流程示意图如图1所示,主要包括下述步骤:
[0021 ] 步骤11,获取请求数据以及模拟类型;
[0022]比如,获取的请求数据,可以是由请求工具提供的。具体地,请求复制工具可以对待测试的系统对应的线上系统收到的请求数据完全复制,进而提供复制得到的请求数据。
[0023]该请求复制工具包括但不仅限于TCPcopy工具。在一种实施方式中,TCPcopy工具可以在数据链层对请求数据包进行复制并提供复制得到的请求数据包。
[0024]本申请实施例中,请求数据,可以但不限于为访问请求包含的数据、交易请求包含的数据以及其他消息中包含的数据,等。
[0025]本申请实施例中,模拟类型用于表示需要进行模拟处理的具体模拟对象,不同的模拟类型可以匹不同的模拟对象。比如,模拟类型可以分为“数据模拟”和“系统模拟”两种。其中,“数据模拟”表示需要进行模拟处理的模拟对象为请求数据,即“数据模拟”与“请求数据”相匹配;而“系统模拟”表示需要进行模拟处理的模拟对象为待测试的系统,即“系统模拟”与“待测试的系统”相匹配。
[0026]本申请实施例中,模拟类型可以是设置的默认信息,也可以是由用户根据自身需要而输入的。
[0027]需要说明的是,步骤11中所述的请求数据,可以是实时抓取到的,也可以是历史请求数据。针对历史请求数据的获取方式而言,可以通过请求复制工具对某个历史时间段的请求数据进行复制并提供。
[0028]例如,以微博系统为例,春节期间微博系统接收到大量的红包请求(发红包请求或抢红包请求等)。为了保证在春节期间,微博系统能稳定运行,通过请求复制工具对该系统去年春节期间收到的红包请求数据进行复制,并导入到线下的待测试的系统中处理,以模拟微博系统在今年春节期间运行是否稳定。
[0029]步骤12,对与模拟类型匹配的模拟对象进行模拟处理,根据处理后的模拟对象,得到处理结果;
[0030]其中,当模拟对象为请求数据时,相应的处理结果为待测试的系统对于模拟处理后的请求数据的处理结果;当模拟对象为待测试的系统时,相应的处理结果为模拟处理后的待测试的系统对于步骤11中获取到的请求数据的处理结果。
[0031]当模拟对象为请求数据时,在一种实施方式中,对请求数据的模拟处理包括:采用加盐技术,对请求数据进行模拟处理,以使得请求数据出现乱序,错误,流量放大,延迟发送等异常情况中的至少一种。
[0032]具体采用的加盐技术,可以但不限于是对请求数据进行二进制代码注入。
[0033]比如,以移动支付平台为例,当要模拟平台接收大量交易请求数据进而导致流量拥堵的异常情况时,可以对获取的请求数据进行二进制代码注入,从而对请求数据流量进行放大,达到模拟目的。
[0034]当模拟对象为待测试的系统时,在一种实施方式中,对待测试的系统的模拟处理包括以下四种方式:
[0035]方式一:通过加盐技术,在待测试的系统中的某个或几个子功能模块中去除对应于该功能模块的功能代码,模拟待测试的系统出现的模块删减和功能缺失的情况。例如以检验在线观看视频的系统上删除动漫模块后是否会影响系统的性能为例,可以通过加盐技术,在待测试的系统上将需要删除的动漫模块对应的功能代码删除,从而达到在待测试的系统上模拟删除动漫模块的情况;
[0036]方式二:通过加盐技术,在待