一种基于负载均衡的分布式测试方法及装置制造方法及图纸

技术编号:20049626 阅读:30 留言:0更新日期:2019-01-09 05:44
本申请提供了一种基于负载均衡的分布式测试方法及装置,涉及通信领域,应用于LVS,所述方法包括:在接收到终端设备发送的测试请求后,根据测试请求的总数量以及满足预设健康条件的目标代理节点的预设调度权重值,确定每个目标代理节点能够处理的测试请求的数量;从接收到的测试请求中为每个目标代理节点选取对应的目标数量的测试请求,并发送给对应的目标代理节点;在接收到目标代理节点返回的响应于测试请求的测试结果后,将测试结果发送给终端设备。这样,通过使满足预设健康条件的目标代理节点的预设调度权重来分配测试请求,能够在保证处理原有数量的测试请求的情况下,缓解agent节点的测试请求资源分配不均匀的问题。

【技术实现步骤摘要】
一种基于负载均衡的分布式测试方法及装置
本申请涉及通信
,具体而言,涉及一种基于负载均衡的分布式测试方法及装置。
技术介绍
ApacheJmeter是基于Java的压力测试工具,能够对软件做压力测试。Jmeter具体可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。针对真实模拟环境下的大量并发请求,通常使用jmeter分布式部署来满足测试需求,能够解决由于jmeter本身的瓶颈,导致jmeter本身出现卡顿的问题。相关技术提供了一种基于分布式测试系统的分布式测试方法,所述的分布式测试系统包括多个虚拟机,其中,1个虚拟机为控制节点(即controller节点),其余的虚拟机为代理节点(即agent节点)。上述分布式测试系统在启动测试之前,用户需要预先根据agent节点的数量以及预估的测试请求的数量,预先在controller节点上配置分配给各个agent节点的测试请求的固定数量;其中,每个agent节点分配的固定数量都是相同的。在用户启动测试后,controller节点将预先存储的测试脚本发送给所有的agent节点,并在接收到测试请求后,向每个agent节点发送用户配置的固定数量测试请求,在接收到任一个agent节点返回的测试结果后,将所述测试结果返回给相应的用户终端设备。在上述分布式测试方法中,每个agent节点的资源使用情况可能会不同,这就会使得在处理同等数量的测试请求的情况下,有些agent节点占用的资源较多,有些agent节点占用的资源少,进而导致占用的资源少的agent节点利用率不高,而占用资源多的agent节点出现卡顿等问题。同时,在测试过程中,当某些agent节点出现故障后,还会使整个分布式测试系统的处理总请求数减少,从影响测试结果。
技术实现思路
有鉴于此,本申请实施例的目的在于提供一种基于负载均衡的分布式测试方法及装置,通过使满足预设健康条件的目标代理节点的预设调度权重来分配测试请求,能够在保证处理原有数量的测试请求的情况下,缓解agent节点的测试请求资源分配不均匀的问题。第一方面,本申请实施例提供了一种基于负载均衡的分布式测试方法,应用于Linux虚拟服务器LVS,所述方法包括:所述LVS在接收到终端设备发送的测试请求后,根据所述测试请求的总数量以及满足预设健康条件的目标代理节点的预设调度权重值,确定待分配给每个所述目标代理节点的测试请求的目标数量;所述LVS从接收到的所述测试请求中为每个所述目标代理节点选取对应的目标数量的测试请求,并将选取的所述目标数量的测试请求发送给对应的目标代理节点,以便对应的目标代理节点响应接收到的所述测试请求;所述LVS在接收到所述目标代理节点返回的响应于所述测试请求的测试结果后,将所述测试结果发送给所述终端设备。第二方面,本申请实施例还提供了一种基于负载均衡的分布式测试装置,包括Linux虚拟服务器LVS,所述LVS包括:确定模块,用于在接收到终端设备发送的测试请求后,根据所述测试请求的总数量以及满足预设健康条件的目标代理节点的预设调度权重值,确定待分配给每个所述目标代理节点的测试请求的目标数量;选取模块,用于从接收到的所述测试请求中为每个所述目标代理节点选取对应的目标数量的测试请求;发送模块,用于并将选取的所述目标数量的测试请求发送给对应的目标代理节点,以便对应的目标代理节点响应接收到的所述测试请求;以及,在接收到所述目标代理节点返回的响应于所述测试请求的测试结果后,将所述测试结果发送给所述终端设备。本申请实施例提供的一种基于负载均衡的分布式测试方法及装置,LVS预先确定满足预设健康条件的目标代理节点,通过满足预设健康条件的目标代理节点响应测试请求,解决了由于故障的代理节点无法处理测试请求而导致的测试请求的处理总量减少的问题,同时,由于选取的目标代理节点都满足预设健康条件,还保证了目标代理节点对测试请求处理的容错性和可靠性,使测试环境更加稳定高效。负载调度器还预先确定目标代理节点的预设调度权重值,并基于预设调度权重值来确定每个目标代理节点能够处理的测试请求的数量,之后,为每个目标代理节点分配该目标代理节点对应的目标数量的测试请求。这样,实现对所有的代理节点进行负载均衡分发测试请求,缓解了测试请求在代理节点中的资源分配不均匀的问题。为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本申请实施例所提供的一种基于LVS+Keepalived负载均衡的jmeter分布式测试系统的架构图。图2示出了本申请实施例所提供的一种基于负载均衡的分布式测试方法的流程图。图3示出了本申请实施例所提供的另一种基于负载均衡的分布式测试方法的流程图。图4示出了本申请实施例所提供的另一种基于负载均衡的分布式测试方法的流程图。图5示出了本申请实施例所提供的LVS基于NAT模式的转发请求的流程图。图6示出了本申请实施例所提供的LVS基于DR模式的转发请求的流程图。图7示出了本申请实施例所提供的一种为负载均衡系统提供高可用方法的流程图。图8示出了本申请实施例所提供的一种基于负载均衡的分布式测试装置的结构示意图。图9示出了本申请一实施例所提供的计算机设备40的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。图1示出了本申请实施例提供的一种基于负载均衡的分布式测试系统,包括终端设备、控制节点(也即controller节点,具体为虚拟机或者服务器)、代理节点(即agent节点,具体为虚拟机或者服务器)。其中,上述系统中部署两个controller节点,若干个agent节点,上述两个controller节点和所有的agent节点已按照上述jmeter分布式部署方法安装了对应jmeter和java环境。同时,上述两个controller节点上分别部署LVS,作为主LVS和备用LVS,所有的agent节点作为真实服务器。具体实施过程中,由主LVS为jmeter分布式测试系统提供负载均衡技术,同时,利用Keepalived(即监控进程)对LVS进行状态检测和故障隔离,当主LVS故障后,切换备用LVS为新的主LVS继续提供负载均衡技术,这样,能够提高jmeter分布式测试系统的高可用性。本申请实施例中,结合LVS+Keepalived对jmeter分布式测试系统本文档来自技高网
...

【技术保护点】
1.一种基于负载均衡的分布式测试方法,其特征在于,应用于Linux虚拟服务器LVS,所述方法包括:所述LVS在接收到终端设备发送的测试请求后,根据所述测试请求的总数量以及满足预设健康条件的目标代理节点的预设调度权重值,确定待分配给每个所述目标代理节点的测试请求的目标数量;所述LVS从接收到的所述测试请求中为每个所述目标代理节点选取对应的目标数量的测试请求,并将选取的所述目标数量的测试请求发送给对应的目标代理节点,以便对应的目标代理节点响应接收到的所述测试请求;所述LVS在接收到所述目标代理节点返回的响应于所述测试请求的测试结果后,将所述测试结果发送给所述终端设备。

【技术特征摘要】
1.一种基于负载均衡的分布式测试方法,其特征在于,应用于Linux虚拟服务器LVS,所述方法包括:所述LVS在接收到终端设备发送的测试请求后,根据所述测试请求的总数量以及满足预设健康条件的目标代理节点的预设调度权重值,确定待分配给每个所述目标代理节点的测试请求的目标数量;所述LVS从接收到的所述测试请求中为每个所述目标代理节点选取对应的目标数量的测试请求,并将选取的所述目标数量的测试请求发送给对应的目标代理节点,以便对应的目标代理节点响应接收到的所述测试请求;所述LVS在接收到所述目标代理节点返回的响应于所述测试请求的测试结果后,将所述测试结果发送给所述终端设备。2.根据权利要求1所述的基于负载均衡的分布式测试方法,其特征在于,所述根据所述测试请求的总数量以及满足预设健康条件的目标代理节点的预设调度权重值,确定待分配给每个所述目标代理节点的测试请求的目标数量之前,还包括:所述LVS监控每个代理节点的健康监测结果;所述LVS选择健康监测结果满足预设健康条件的代理节点作为目标代理节点;所述LVS根据所述目标代理节点的资源配置信息和资源使用情况,确定所述目标代理节点的调度权重值。3.根据权利要求2所述的基于负载均衡的分布式测试方法,其特征在于,将选取的所述目标数量的测试请求发送给对应的目标代理节点后,所述方法还包括:所述LVS监控每个目标代理节点的健康监测结果;所述LVS在监控到任一目标代理节点的健康监测结果不满足预设健康条件后,从满足预设健康条件的目标代理节点中选择备用目标代理节点;所述LVS将所述不满足预设健康条件的目标代理节点对应的测试请求发送给所述备用目标代理节点,以便所述备用目标代理节点响应所述测试请求。4.根据权利要求1~3任一项所述的基于负载均衡的分布式测试方法,其特征在于,所述LVS接收到的所述测试请求的源互联网协议地址IP地址为所述终端设备的IP地址,目的IP地址为所述LVS的IP地址;所述将选取的所述目标数量的测试请求发送给对应的目标代理节点,包括:所述LVS将所述测试请求的目的IP地址由所述LVS的IP地址更新为目标代理节点的IP地址后,发送给所述目标代理节点;所述LVS接收到的所述测试结果的源IP地址为所述目标代理节点的IP地址,目的IP地址为所述终端设备的IP地址;所述将所述测试结果发送给所述终端设备,包括:所述LVS将所述测试结果的源IP地址由目标代理节点的IP地址更新为所述LVS的IP地址后,发送给所述终端设备。5.根据权利要求1~3任一项所述的基于负载均衡的分布式测试方法,其特征在于,所述LVS和所有的代理节点共享一个虚拟IP地址,所述LVS接收的测试请求的目的IP地址为所述虚拟IP地址,目的物理地址MAC地址为所述LVS的MAC地址;所述将选取的所述目标数量的测试请求发送给对应的目标代理节点,...

【专利技术属性】
技术研发人员:谢利娟
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:河南,41

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

1