发包联动并发监控自动化测试服务器性能的方法
【技术领域】
[0001]本发明涉及自动化测试领域,尤其涉及一种发包联动并发监控自动化测试服务器性能的方法。
【背景技术】
[0002]目前的自动化测试集成环境可以自动执行测试模块,但不能对服务器性能进行自动监控。当需要进行性能测试时,如果所需基础输入流量数据与历史数据相同,则不存在问题,但如果数据包输入诸如协议,包长,包间隔有改动,则需要首先通过发送一定流量的数据包测试出服务器的性能瓶颈,得到数据后再对自动化测试模块执行长时间不间断压力测试。而针对不同协议,不同包长的数据包,每次都需要测试,增加了很大的工作量,不能实现自动化无人值守。可知,自动化集成环境性能测试在得到测试任务执行测试模块时,首先需要根据目前需要的数据包测试出服务器的最大吞吐量,然后基于吞吐量的数据对测试模块所需输入基础数据进行更改,然后进行长时间不间断性能测试。这样进行的测试的缺点是每次测试床的准备都需要进行人工测试,或者把通常情况的数据作为字典传入,但当测试输入数据条件稍有改动,又需要进行基础数据的测试准备,非常浪费人力和时间。
【发明内容】
[0003]针对现有技术中存在的问题,本发明提供了一种无人值守的发包联动并发监控自动化测试服务器性能的方法。
[0004]本发明采用如下技术方案:
[0005]—种发包联动并发监控自动化测试服务器性能的方法,所述方法包括:
[0006]发包模块与监控服务器模块建立连接,所述监控服务器发送连接消息至所述发包模块;
[0007]所述发包模块按照预设的流量发送数据包至所述监控服务器模块,发送所述数据包完成后,发送一完成消息至所述监控服务器模块;
[0008]所述监控服务器模块处理所述数据包并启动并发监控服务器程序,监控所述监控服务器模块的性能,若所述监控服务器模块的性能尚未达到瓶颈,则所述发包模块继续发送所述数据包;
[0009]当所述监控服务器模块的性能到达瓶颈状态,所述监控服务器模块发送断开连接信息至所述发包模块,所述发包模块断开连接,所述监控服务器记录所述监控服务器模块的性能到达瓶颈状态时所述发包模块发送的数据包的流量,得到自动化测试模块的基础数据。
[0010]优选的,所述方法中,所述发包模块与所述监控服务器模块之间为C/S结构,并且采用socket通信机制。
[0011 ]优选的,所述方法中,所述并发监控服务器程序监控所述监控服务器模块的性能,当所述监控服务器模块的性能未到达瓶颈状态时,所述监控服务器发送发包消息至所述发包模块的等待队列中。
[0012]优选的,所述发包模块处理所述发包消息,所述发包模块按照预设的比率增加所述数据包的流量后,所述发包模块向所述监控服务器模块发送增加流量的所述数据包。
[0013]优选的,所述方法中,所述监控服务器模块性能的参数包括CPU和/或内存和/或硬盘和/或进程的占用率和所述监控服务器模块的瓶颈值。
[0014]优选的,所述方法还包括:
[0015]所述监控服务器模块接收所述数据包后,直接将所述数据包透传至多个系统服务器,每个所述系统服务器均对所述数据包进行处理,当一系统服务器的性能出现瓶颈时,系统信息模块采集该系统服务器的性能参数存入所述监控服务器模块中的列表。
[0016]优选的,所述监控服务器模块采用多进程MAP方法发送所述数据包至多个系统服务器。
[0017]优选的,所述方法中,所述监控服务器模块调用所述列表中的系统服务器的性能参数,得到所述自动化测试模块的基础数据。
[0018]优选的,所述监控服务器将所述监控服务器模块的性能参数,并将所述性能参数写入所述自动化测试模块中,所述自动化测试模块将所述性能参数作为基础数据对被测设备进行测试。
[0019]优选的,所述监控服务器模块将所述系统服务器的性能参数,并将所述性能参数写入所述自动化测试模块中,所述自动化测试模块将所述性能参数作为基础数据对被测设备进行测试。
[0020]本发明的有益效果是:
[0021]本发明能够实现发包控制联动并发实时监控自动化集成测试环境中的多台服务器,在集成自动化测试环境中,服务器承担着发送大量各种协议的数据包到被测设备的任务,该系统会持续不断地增加数据量直到达到服务器设定的系统瓶颈值,本发明可以承担起当数据量已经达到服务器的性能瓶颈时自动记录系统数据以及数据包指标,并自动回传Tag消息到发包模块使之不再增大流量,并将该数据包参数作为基础数据写入该测试模块,在此流量基础上进行24/48/72小时性能测试,这样就实现了无人值守,同时保证了数据的准确性,不会出现由于达到了服务器的瓶颈导致丢包而造成的对被测设备结果的不确定性。
【附图说明】
[0022]图1为本发明发包模块联动监控服务器模块执行网络示意图;
[0023]图2为本发明发包模块与并发实时监控服务器模块间的通信示意图;
[0024]图3为本发明监控服务器模块工作原理图。
【具体实施方式】
[0025]需要说明的是,在不冲突的情况下,下述技术方案,技术特征之间可以相互组合。
[0026]下面结合附图对本发明的【具体实施方式】作进一步的说明:
[0027]本发明通过自动发包联动监控自动化测试集成环境的方法实时监控多服务器的性能,当到达服务器性能瓶颈后将该服务器的性能参数发送到自动化测试模块,自动化测试模块以该性能参数作为基础数据,对被测设备(诸如无线路由器,云服务器等)进行不间断长时间的性能测试,实现了无人值守,对测试床基础数据的采集做到了自动执行。
[0028]实施例一
[0029]本实施例主要提供一种发包模块联动并发实时监控多服务器的性能的方法,这种方法可以使用在自动化测试集成环境中,如图1所示,首先,发包模块能够向监控服务器模块发送数据包,监控服务器模块不处理该数据包并将该数据包透传至各个系统服务器,各个系统服务器能够处理该数据包,这些系统服务器可以是一般的服务器也可以是虚拟服务器,监控服务器模块同时并发对各系统服务器的CPU,内存,硬盘的占用率,进程的占用率做实时监控,将监控结果返回给发包模块,当该监控结果在可控范围内时(此处的可控范围可以理解为尚未达到系统服务器的性能瓶颈),发包模块会按照一定的步长增大数据包量,再次发送数据包至监控服务器模块,监控服务器模块再重复上述动作,重复的次数直至到达设定的服务器的性瓶颈值后,监控服务器模块会发停止信号给发包模块停止发包,同时监控服务器模块将监控结果写入自动化测试模块,监控的结果在后文进行具体的举例,自动化测试模块将该监控结果作为自动化测试模块的基础初始数据应用于服务器对被测设备DUT的测试中,其中被测设备DUT与系统服务器和监控服务器模块同在内网环境中。
[0030]实施例二
[0031]本实施例主要基于实施例一的基础上,对发包模块与监控服务器模块之间的通信方式进行介绍,如图2所示,本实施例中发包模块与监控服务器模块之间可以是C/S结构,采用socket机制实现通信,发包模块会和监控服务器模块建立长连接,发包模块会启动两个线程:一个是监听线程,该线程会一直等待监控服务器模块的连接请求;另一个是任务处理线程,处理任务池中的任务监控服务器模块与发包模块建立连接后,会发送一个指定的Tag消息(连接消息)给发包模块,发包模块的监听线程收到该信号后,会启动一个独立于监听线程的任务处理线程,进行发包(发送数据包),在发送完数据包后,发送一个完成消息给监控服务器模块,监控服务器模块启动监控服务器模块内部的并发监控服务器程序,当未到达监控服务器模块预定的性能瓶颈时,它会继续上一个操作,发送一个tag消息(发包消息),并将该发包消息放在发包模块的队列中等待处理
,发包模块会继续发送数据包至监控服务器模块,监控服务器摸快会处理该数据包,此实施例中的监控服务器模块可以将该数据包透传给多个系统实施例,执行例如实施例中的方法,此处不再进行赘述,当监控服务器的性能到达瓶颈时,监控服务器模块发送断开连接消息给发包模块,发包模块断开连接,监控服务器模块同时记录下达到性能瓶颈时的性能参数,这样实现了发包模块和监控服务器模块之间的通信。
[0032]实施例三
[0033]本实施例提供了一种并发实时监控服务器模块的实现方法,如图3所示,监控服务器模块主要能够实现了两个功能:首先是监控服务器的性能参数,该性能参数可以是CPU,Memory(内存),Disk(硬盘),Net(进程)的占用率以及进程执行状态,第二个功能是在多个服务器上并发执行上述的功能,达到同时监控多台服务器的性能并实时记录下达到性能瓶颈时的性能参数,此处两个功能即在上述两个实施例均有介绍,此处不再进行赘述。
[0034]区图3所示,本实施例主要在实施例一的基础上,重点介绍监控服务器模块与多个系统服务器之间的监控方法,监控服务器模块首先对数据包不做处理,直接透传至多个系统服务器,多个系统服务器收到数据包后会直接对数据包进行处理,直接占用系统服务器的资源,此时采用实时获取系统信息模块实现对系统服务器的性能参数,将采集到的性能参数存入监控服务器模块的列表中,实现了多台系统服务器的监控。
[0035]进一步的,因为自动化测试集成环境中有多台系统服务器,因此采用并发操作对服务器进行监控,这里采用多进程处理的MAP方法对多台系统服务器实现并发监控,但是如果该方法同时开启多个线程,首先会启动一些有效的工作任务,并将它们保存在变量中以便随时访问,然后创建一个线程池。如果系统服务器数量比较多,频繁切换的线程池中的线程会影响处理速度,可以通过调试确定出任务调度的时间平衡点作为合适的线程池大小,作为变量参数输入并发监控服务器模块。通过对系统服务器性能资源的并发处理后,将测试出的系统服务器的性能参数传入上述的列表,以备监控服务器模块调用,这里的性能参数可以是系统服务器瓶颈值以及该值对应的数据包的各项参数。最后,实时监控服务器模块与自动化测试模块之间建立通信,实时监控服务器模块与自动化测试模块之间应当是单向通信关系,当实时监控服务器模块自动测试完毕后,将系统服务器所能承受的最大流量作为自动化测试的基础数据传递给自动化测试模块,并触发自动化测试任务的执行,此时自动化测试模块开始进行连接服务器对被测设备(DUT)进行自动化测试。
[0036]综上所述,本发明首先按照测试需求通过发包模块在监控服务器模块上自动执行发送指定协议,包长,包间隔的数据包,按照设定的比率逐步增大流量,还可以通过实时并发监控多服务器模块监控多台系统服务器的系统性能,当到达监控服务器模块到达瓶颈后,发送指令给发包模块使之停止发送数据包,并通过监控服务器模块将服务器性能各项参数作为变量写入自动化测试模块作为自动化测试模块的基础数据。这样自动完成了被测设备中基础数据的准备,保证了在进行自动化性能测试时不会因为在测试环境的服务器上丢包导致对被测设备的测试数据不准确。
[0037]通过说明和附图,给出了【具体实施方式】的特定结构的典型实施例,基于本发明精神,还可作其他的转换。尽管上述发明提出了现有的较佳实施例,然而,这些内容并不作为局限。
[0038]对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。
【主权项】
1.一种发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述方法包括: 发包模块与监控服务器模块建立连接,所述监控服务器发送连接消息至所述发包模块; 所述发包模块按照预设的流量发送数据包至所述监控服务器模块,发送所述数据包完成后,发送一完成消息至所述监控服务器模块; 所述监控服务器模块处理所述数据包并启动并发监控服务器程序,监控所述监控服务器模块的性能,若所述监控服务器模块的性能尚未达到瓶颈,则所述发包模块继续发送所述数据包; 当所述监控服务器模块的性能到达瓶颈状态,所述监控服务器模块发送断开连接信息至所述发包模块,所述发包模块断开连接,所述监控服务器记录所述监控服务器模块的性能到达瓶颈状态时所述发包模块发送的数据包的流量,得到自动化测试模块的基础数据。2.根据权利要求1所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述方法中,所述发包模块与所述监控服务器模块之间为C/S结构,并且采用socket通信机制。3.根据权利要求1所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述方法中,所述并发监控服务器程序监控所述监控服务器模块的性能,当所述监控服务器模块的性能未到达瓶颈状态时,所述监控服务器发送发包消息至所述发包模块的等待队列中。4.根据权利要求3所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述发包模块处理所述发包消息,所述发包模块按照预设的比率增加所述数据包的流量后,所述发包模块向所述监控服务器模块发送增加流量的所述数据包。5.根据权利要求1所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述方法中,所述监控服务器模块性能的参数包括CPU和/或内存和/或硬盘和/或进程的占用率和所述监控服务器模块的瓶颈值。6.根据权利要求1所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述方法还包括: 所述监控服务器模块接收所述数据包后,直接将所述数据包透传至多个系统服务器,每个所述系统服务器均对所述数据包进行处理,当一系统服务器的性能出现瓶颈时,系统信息模块采集该系统服务器的性能参数存入所述监控服务器模块中的列表。7.根据权利要求6所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述监控服务器模块采用多进程MAP方法发送所述数据包至多个系统服务器。8.根据权利要求6所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述方法中,所述监控服务器模块调用所述列表中的系统服务器的性能参数,得到所述自动化测试模块的基础数据。9.根据权利要求1所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述监控服务器将所述监控服务器模块的性能参数,并将所述性能参数写入所述自动化测试模块中,所述自动化测试模块将所述性能参数作为基础数据对被测设备进行测试。10.根据权利要求8所述的发包联动并发监控自动化测试服务器性能的方法,其特征在于,所述监控服务器模块将所述系统服务器的性能参数,并将所述性能参数写入所述自动化测试模块中,所述自动化测试模块将所述性能参数作为基础数据对被测设备进行测试。
【专利摘要】本发明涉及自动化测试领域,尤其涉及一种发包联动并发监控自动化测试服务器性能的方法。发包模块与监控服务器模块建立连接,监控服务器发送连接消息至发包模块;发包模块按照预设的流量发送数据包至监控服务器模块,发送数据包完成后,发送一完成消息至监控服务器模块;监控服务器模块处理数据包并启动并发监控服务器程序,对监控服务器模块的性能监控,若监控服务器模块的性能尚未达到瓶颈,则发包模块继续发送数据包;当监控服务器模块的性能到达瓶颈状态,监控服务器模块发送断开连接信息至发包模块,发包模块断开连接,监控服务器记录监控服务器模块的性能到达瓶颈状态时发包模块发送的数据包的流量,得到自动化测试模块的基础数据。
【IPC分类】H04L12/26
【公开号】CN105490876
【申请号】CN201510844568
【发明人】裴瑞凌
【申请人】上海斐讯数据通信技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月26日