CN111130936A - 一种负载均衡算法的测试方法及装置 - Google Patents
一种负载均衡算法的测试方法及装置 Download PDFInfo
- Publication number
- CN111130936A CN111130936A CN201911349752.8A CN201911349752A CN111130936A CN 111130936 A CN111130936 A CN 111130936A CN 201911349752 A CN201911349752 A CN 201911349752A CN 111130936 A CN111130936 A CN 111130936A
- Authority
- CN
- China
- Prior art keywords
- test
- server
- message
- address
- load balancing
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种负载均衡算法的测试方法及装置,可以使负载均衡设备针对首次测试时收到的来自终端的第一测试报文,根据负载均衡算法将所述第一测试报文发送至服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址;在第二次及后续测试时收到的来自终端的第二测试报文,根据所述负载均衡算法及已记录的服务器的地址,将所述第二测试报文发送至所述目标服务器;根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种负载均衡算法的测试方法及装置。
背景技术
服务器负载均衡轮询调度算法,其原理是把来自用户的业务请求轮流分配给内部的应用服务器:从服务器1开始,直到服务器N,然后重新开始循环。此算法的优点是其简洁性,它无需记录当前所有连接的状态,是一种无状态调度,可以减少相关的资源占用,此种负载均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。
服务器负载均衡轮询调度算法测试方法用于测试该负载均衡轮询调度算法的正确性。目前常见的测试过程是在负载均衡设备或者是在应用服务器上通过抓取业务报文的方式,由人工进行报文解析,获取报文中的应用服务器的地址并对该应用服务器地址进行排序,通过分析测试过程中应用服务器的地址的顺序,确认轮询调度算法的正确性。
但是上述检测方法的缺点在于,需要每次通过手动对业务报文进行抓取及内容分析来得到应用服务器的地址排序,其操作步骤复杂,耗费时间,导致测试效率较低。
发明内容
有鉴于此,本申请提供一种负载均衡算法的测试方法及装置,来解决负载均衡算法测试的问题。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请提供一种负载均衡算法的测试方法,所述方法应用于负载均衡设备,该方法包括:
针对首次测试时收到的来自终端的第一测试报文,根据待测试的负载均衡算法将所述第一测试报文发送至对应的服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址,执行下一次测试;
以第二次及后续测试时收到的来自终端的测试报文为第二测试报文,针对所述第二测试报文,根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器,将所述第二测试报文发送至所述目标服务器;
根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。
作为一个实施例,判断所述第二测试报文是否到达所述目标服务器,包括:
判断所述第二应答报文的源地址与所述目标服务器的地址是否相同,若是,则确定所述第二测试报文到达所述目标服务器;若否,则确定所述第二测试报文未到达所述目标服务器。
作为一个实施例,根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器,包括:
若所述负载均衡算法为轮询调度算法,则基于记录中的最新的服务器地址在预先设置的服务器顺序中查找所述最新的服务器地址对应的下一个服务器,将查找到的服务器作为所述第二测试报文的目标服务器。
作为一个实施例,判断所述第二测试报文是否到达所述目标服务器,包括:
预先为每个服务器生成对应的ACL规则,所述ACL规则的匹配条件至少包括应答报文的源地址为服务器的地址,执行动作为命中计数加1;
根据所述第二应答报文判断所述目标服务器对应的ACL规则的命中计数是否加1,如果是,则确定所述第二测试报文到达所述目标服务器;如果否,则确认所述第二测试报文未到达所述目标服务器。
作为一个实施例,所述ACL规则的匹配条件还包括:应用协议及端口为服务器对应协议及端口,VLAN为服务器所在的VLAN。
第二方面,本申请提供一种负载均衡算法的测试装置,所述装置应用于负载均衡设备,该装置包括:
记录单元,用于针对首次测试时收到的来自终端的第一测试报文,根据待测试的负载均衡算法将所述第一测试报文发送至对应的服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址,执行下一次测试;
发送单元,用于以第二次及后续测试时收到的来自终端的测试报文为第二测试报文,针对所述第二测试报文,根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器,将所述第二测试报文发送至所述目标服务器;
判断单元,用于根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。
作为一个实施例,所述判断单元,具体用于判断所述第二应答报文的源地址与所述目标服务器的地址是否相同,若是,则确定所述第二测试报文到达所述目标服务器;若否,则确定所述第二测试报文未到达所述目标服务器。
作为一个实施例,所述发送单元,具体用于若所述负载均衡算法为轮询调度算法,则基于记录中的最新的服务器地址在预先设置的服务器顺序中查找所述最新的服务器地址对应的下一个服务器,将查找到的服务器作为所述第二测试报文的目标服务器。
作为一个实施例,所述判断单元,具体用于预先为每个服务器生成对应的ACL规则,所述ACL规则的匹配条件至少包括应答报文的源地址为服务器的地址,执行动作为命中计数加1;根据所述第二应答报文判断所述目标服务器对应的ACL规则的命中计数是否加1,如果是,则确定所述第二测试报文到达所述目标服务器;如果否,则确认所述第二测试报文未到达所述目标服务器。
作为一个实施例,所述ACL规则的匹配条件还包括:应用协议及端口为服务器对应协议及端口,VLAN为服务器所在的VLAN。
第三方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述负载均衡算法的测试方法的任一步骤。
第四方面,本申请还提供一种网络设备,所述网络设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现上述负载均衡算法的测试方法的任一步骤。
由此可见,本申请可以使负载均衡设备针对首次测试时收到的来自终端的第一测试报文,根据负载均衡算法将所述第一测试报文发送至服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址;在第二次及后续测试时收到的来自终端的第二测试报文,根据所述负载均衡算法及已记录的服务器的地址,将所述第二测试报文发送至所述目标服务器;根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。因此本申请可以省略手动对测试报文的抓取和内容分析的操作步骤和时间,从而简化了测试步骤,节省了测试时间,提高了测试效率。
附图说明
图1是本申请一种示例性实施方式中的负载均衡测试组网示意图;
图2是本申请一种示例性实施方式中的一种负载均衡算法的测试方法的处理流程图;
图3是本申请一种示例性实施方式中的一种负载均衡轮询调度算法的测试处理流程图;
图4是本申请一种示例性实施方式中的一种负载均衡算法的测试装置的逻辑结构图;
图5是本申请一种示例性实施方式中的一种网络设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参考图1是本申请中的一种示例性实施方式中的负载均衡测试组网结构,主要包括:终端、被测设备(即负载均衡设备),及服务器(如服务器1、服务器2和服务器3),其中负载均衡设备上配置IP地址以及路由策略,保证终端生成的测试报文能够到达负载均衡设备,负载均衡设备与服务器之间可以进行正常网络通信;负载均衡设备上预先配置了针对服务器的待测试的负载均衡算法,该负载均衡算法用于确保终端用户生成的测试报文经过负载均衡设备后能够分别转发到不同的服务器上,以实现负载分担。
请参考图2,是本申请一种示例性实施方式中的一种负载均衡算法的测试方法的处理流程图,所述方法应用于负载均衡设备,所述方法包括步骤201-203。
步骤201、针对首次测试时收到的来自终端的第一测试报文,根据待测试的负载均衡算法将所述第一测试报文发送至对应的服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址,执行下一次测试;
在本实施例中,以终端首次发送的测试报文为第一测试报文,当终端首次测试时,负载均衡设备可以收到来自终端的第一测试报文。负载均衡设备可以根据已配置的路由策略根据该第一测试报文的目的地址确定该第一测试报文对应的业务服务器。由于该业务服务器可能是多个服务器组成的服务器群组(例如包括服务器1、服务器2和服务器3),为了实现负载均衡,进一步可以基于待测试的负载均衡算法确定所述服务器群组中的与所述第一测试报文对应的服务器,之后将所述第一测试报文发送至该服务器,该服务器可以是图1中的服务器中的任一服务器。服务器在收到所述第一测试报文时会反馈对应的第一应答报文,其中该第一应答报文的源地址为服务器的地址,目的地址为终端的地址,负载均衡设备收到该第一应答报文时,确认该目的地址为终端地址,从而记录所述第一应答报文中的源地址(即服务器地址),以该服务器地址为负载均衡算法测试的首个服务器,该服务器可以是图1中的服务器中的任一服务器,然后触发终端执行下一次测试。
步骤202、以第二次及后续测试时收到的来自终端的测试报文为第二测试报文,针对所述第二测试报文,根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器,将所述第二测试报文发送至所述目标服务器;
在本实施例中,以终端第二次及后续测试时发送的测试报文为第二测试报文,第二测试报文与第一测试报文都是根据测试需求生成的服务器IP,协议号,端口号相同的测试报文,只是第二测试报文的发送时间晚于第一测试报文。当终端执行第二次及后续测试时,负载均衡设备可以收到来自终端的第二测试报文。由于所述第二测试报文的内容和第一测试报文的配置相同,所以第二测试报文匹配的路由策略与第一测试报文相同,则第二测试报文对应的服务器群组与第一服务器相同。负载均衡设备可以根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文在该服务器群组中对应的目标服务器,然后将所述第二测试报文发送至所述目标服务器。
步骤203、根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。
服务器群组中有服务器收到第二测试报文时会反馈对应的第二应答报文,其中该第二应答报文的源地址为服务器的地址,目的地址为终端的地址,负载均衡设备收到该第二应答报文时,确认该目的地址为终端地址,然后根据第二应答报文的源地址判断所述第二测试报文是否到达所述目标服务器,若是,则确认当前测试成功,即说明负载均衡算法的执行是正确的,从而记录所述第二应答报文中的服务器的地址,再触发终端执行下一次测试,直至出现测试失败或终端测试结束;若否,则确认测试失败,即说明负载均衡算法的执行是错误的,然后可以并结束测试。如果直至测试完成时,没有测试失败的情况,则说明当前待测试的负载均衡算法是准确的,如果测试过程中出现一次测试失败则终止测试,说明待测试的负载均衡算法是不准确的。测试报文的数量可以根据实际测试需求而定,需要的准确性越高,测试的报文数量就越多。
在一个实施例中,判断所述第二测试报文是否到达所述目标服务器,具体可以是通过判断所述第二应答报文的源地址与所述目标服务器的地址是否相同,若是,则确定所述第二测试报文到达所述目标服务器;若否,则确定所述第二测试报文未到达所述目标服务器。
基于步骤202,当负载均衡设备根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器时,若所述负载均衡算法为轮询调度算法,该轮询调度算法的调度规则是按顺序循环调度,也就是说,以图1中的服务器负载均衡为例,调度顺序是按照服务器1、服务器2、服务器3的顺序循环调度。因此负载均衡设备可以基于记录中的最新的服务器地址在预先设置的服务器顺序中查找所述最新的服务器地址对应的下一个服务器,将查找到的服务器作为所述第二测试报文的目标服务器。举例来讲,若当前记录的最新的服务器地址为服务器2的地址(即上一个测试报文的目标服务器为服务器2),那么根据负载均衡轮询调度算法,当前第二测试报文的目标服务器为服务器2的顺序下一个服务器,即服务器3;若当前记录的最新的服务器地址为服务器3的地址(即上一个测试报文的目标服务器为服务器3),那么根据负载均衡轮询调度算法,当前第二测试报文的目标服务器为服务器3的顺序下一个服务器,即服务器1。
基于待测试的负载均衡算法为轮询调度算法,步骤203在执行判断所述第二测试报文是否到达所述目标服务器之前,还可以预先为每个服务器生成对应的ACL(AccessControl List,访问控制列表)规则,所述ACL规则的匹配条件至少包括应答报文的源地址为服务器的地址,执行动作为命中计数加1。然后在步骤203中,根据收到的所述第二应答报文判断所述第二测试报文是否达到所述目标服务器的方法具体是:根据所述第二应答报文判断所述目标服务器对应的ACL规则的命中计数是否加1,如果是,则确定所述第二测试报文到达所述目标服务器;如果否,则确认所述第二测试报文未到达所述目标服务器。
在一个例子中,所述ACL规则的匹配条件还包括:应用协议及端口为服务器对应协议及端口,VLAN(Virtual Local Area Network,虚拟局域网)为服务器所在的VLAN。则当收到第二应答报文时,需要第二应答报文命中该ACL规则的每一个匹配条件,才会确认该第二应答报文命中所述ACL规则,从而依据该ACL规则的执行动作来处理。通过增加上述匹配条件,可以进一步确保在复杂的网络环境中,确定所述第二应答报文是来自该目标服务器的,从而提高测试的准确性。
相比于已有技术,本申请通过ACL规则快速判断测试报文是否依据负载均衡设备算法到达指定的目标服务器,从而可以避免人工抓包以及人工分析报文来获取服务器顺序进行验证的过程,从而简化了测试步骤,进一步提高了测试效率。
为使本申请的目的、技术方案及优点更加清楚明白,下面以测试负载均衡轮询调度算法为例,结合图3对本申请的方案作进一步地详细说明。
负载均衡设备进行负载均衡轮询调度算法的处理流程图3所示,其中包括:
步骤301、接收终端发送的测试报文;
步骤302、判断所述测试报文是否为首个测试报文;若是,则转步骤303;若否,则转步骤305;
步骤303、根据待测试的负载均衡轮询调度算法确定该测试报文对应的服务器,将所述测试报文发送至所述服务器;转步骤304;
步骤304、接收服务器反馈的测试报文对应的应答报文,记录所述应答报文中的源地址(服务器的地址),并触发下一次测试,转步骤301;
步骤305、根据待测试的负载均衡轮询调度算法及已记录的服务器地址确定该测试报文对应的目标服务器,将所述测试报文发送至目标服务器,转步骤306;
步骤306、接收服务器反馈的测试报文对应的应答报文,确定所述应答报文命中的ACL规则,转步骤307;
步骤307、判断所述ACL规则对应的服务器是否为所述目标服务器,若是,则转步骤308;若否,则转步骤309;
步骤308、记录所述目标服务器的地址,并触发下一次测试,转步骤301;
步骤309、测试失败,并结束测试。
举例来讲,负载均衡设备可以根据服务器1、服务器2、服务器3的IP地址,应用协议端口,所在vlan等,对应生成3条ACL规则,ACL规则相关参数如下:源IP地址(服务器IP地址),目的IP地址(any),协议类型(应用协议)、端口号(服务器对应的端口),VLAN范围(服务器所在vlan),ACL动作(命中计数加1)。此处以服务器提供web应用服务器为例,具体ACL信息如下:ACL规则1,源IP为192.168.1.10,目的IP为any,协议类型为TCP(端口号80),VLAN为100,ACL动作为命中统计;ACL规则2,源IP为192.168.1.11,目的IP为any,协议类型为TCP(端口号80),VLAN为100,ACL动作为命中统计;ACL规则3,源IP为192.168.1.10,目的IP为any,协议类型为TCP(端口号80),VLAN为100,ACL动作为命中统计。每个ACL规则的名称可以与服务器相关联。
当图1中的终端首次发送测试报文request1时,测试报文request1经过负载均衡设备,通过轮询调度算法,计算出需要负载到的服务器(例如服务器1),然后将测试报文request1发送到该服务器(例如服务器1);服务器(例如服务器1)接收到测试报文request1后进行业务回复,生成应答报文response1并发送给负载均衡设备,当response1到达负载均衡设备后,必然会匹配预先设定的3条ACL规则中的1条,通过查看所有ACL规则的命中统计,可以确认命中ACL的名称,通过ACL名称确认ACL规则中的源IP地址,即为轮询调度算法将测试报文request1调度到的服务器,记录此response1的源IP地址为IP1。
当图1中的终端第二次发送测试报文request2时,测试报文request2经过负载均衡设备,通过轮询调度算法的原理,可以推算出发送测试报文request2,经过负载均衡设备的轮询调度算法将测试报文request2发送给地址为IP2(即已记录的IP1地址的下一个服务器的IP地址)的服务器。从而负载均衡设备可以将该测试报文request2发送给IP2对应的服务器2;当服务器接收到测试报文request2后进行业务回复,生成应答报文response2发送给负载均衡设备,当response2到达负载均衡设备后,必然会匹配步骤3中设定的3条ACL规则中的源IP为IP2的ACL规则,此ACL规则命中统计加1,由于命中的ACL规则对应的服务器为服务器2,而之前根据轮询调度算法推测的目标服务器也是服务器2,因此说明该测试报文request2确实根据轮询调度算法发送到了正确的服务器,则说明本次轮询调度算法的测试成功,记录该IP2,执行下一次测试继续验证测试报文request3,从而将轮询调度算法中涉及到的所有的服务器进行了遍历,完成轮询调度算法测试工作。
若response2到达负载均衡设备后,若命中的ACL规则对应的服务器不是服务器2,例如request2的源IP地址为IP3时,命中的ACL规则是服务器3对应的ACL规则,则证明轮询调度算法存在问题,则结束测试。
与前述负载均衡算法的测试方法的实施例相对应,本申请还提供了负载均衡算法的测试装置的实施例。
请参见图4,为本申请在一个示例性实施例中的一种负载均衡算法的测试装置的结构示意图,所述装置应用于负载均衡设备,所述装置40包括:
记录单元401,用于针对首次测试时收到的来自终端的第一测试报文,根据待测试的负载均衡算法将所述第一测试报文发送至对应的服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址,执行下一次测试;
发送单元402,用于以第二次及后续测试时收到的来自终端的测试报文为第二测试报文,针对所述第二测试报文,根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器,将所述第二测试报文发送至所述目标服务器;
判断单元403,用于根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。
作为一个实施例,所述判断单元403,具体用于判断所述第二应答报文的源地址与所述目标服务器的地址是否相同,若是,则确定所述第二测试报文到达所述目标服务器;若否,则确定所述第二测试报文未到达所述目标服务器。
作为一个实施例,所述发送单元402,具体用于若所述负载均衡算法为轮询调度算法,则基于记录中的最新的服务器地址在预先设置的服务器顺序中查找所述最新的服务器地址对应的下一个服务器,将查找到的服务器作为所述第二测试报文的目标服务器。
作为一个实施例,所述判断单元403,具体用于预先为每个服务器生成对应的ACL规则,所述ACL规则的匹配条件至少包括应答报文的源地址为服务器的地址,执行动作为命中计数加1;根据所述第二应答报文判断所述目标服务器对应的ACL规则的命中计数是否加1,如果是,则确定所述第二测试报文到达所述目标服务器;如果否,则确认所述第二测试报文未到达所述目标服务器。
作为一个实施例,所述ACL规则的匹配条件还包括:应用协议及端口为服务器对应协议及端口,VLAN为服务器所在的VLAN。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
与前述负载均衡算法的测试方法的实施例相对应,本申请还提供了实现负载均衡算法的测试方法的网络设备的实施例。
如图5所示,所述网络设备包括存储器51、处理器82、通信接口53以及通信总线54;其中,所述存储器51、处理器52、通信接口53通过所述通信总线54进行相互间的通信;
所述存储器51,用于存放计算机程序;
所述处理器52,用于执行所述存储器51上所存放的计算机程序,所述处理器52执行所述计算机程序时实现本申请实施例提供的负载均衡算法的测试方法的任一步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的负载均衡算法的测试方法的任一步骤。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于网络设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
综上所述,本申请可以使负载均衡设备针对首次测试时收到的来自终端的第一测试报文,根据负载均衡算法将所述第一测试报文发送至服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址;在第二次及后续测试时收到的来自终端的第二测试报文,根据所述负载均衡算法及已记录的服务器的地址,将所述第二测试报文发送至所述目标服务器;根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。因此本申请可以省略手动对测试报文的抓取和内容分析的操作步骤和时间,从而简化了测试步骤,节省了测试时间,提高了测试效率。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种负载均衡算法的测试方法,其特征在于,所述方法应用于负载均衡设备,该方法包括:
针对首次测试时收到的来自终端的第一测试报文,根据待测试的负载均衡算法将所述第一测试报文发送至对应的服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址,执行下一次测试;
以第二次及后续测试时收到的来自终端的测试报文为第二测试报文,针对所述第二测试报文,根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器,将所述第二测试报文发送至所述目标服务器;
根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。
2.根据权利要求1所述的方法,其特征在于,判断所述第二测试报文是否到达所述目标服务器,包括:
判断所述第二应答报文的源地址与所述目标服务器的地址是否相同,若是,则确定所述第二测试报文到达所述目标服务器;若否,则确定所述第二测试报文未到达所述目标服务器。
3.根据权利要求1所述的方法,其特征在于,根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器,包括:
若所述负载均衡算法为轮询调度算法,则基于记录中的最新的服务器地址在预先设置的服务器顺序中查找所述最新的服务器地址对应的下一个服务器,将查找到的服务器作为所述第二测试报文的目标服务器。
4.根据权利要求3所述的方法,其特征在于,判断所述第二测试报文是否到达所述目标服务器,包括:
预先为每个服务器生成对应的ACL规则,所述ACL规则的匹配条件至少包括应答报文的源地址为服务器的地址,执行动作为命中计数加1;
根据所述第二应答报文判断所述目标服务器对应的ACL规则的命中计数是否加1,如果是,则确定所述第二测试报文到达所述目标服务器;如果否,则确认所述第二测试报文未到达所述目标服务器。
5.根据权利要求4所述的方法,其特征在于,
所述ACL规则的匹配条件还包括:应用协议及端口为服务器对应协议及端口,VLAN为服务器所在的VLAN。
6.一种负载均衡算法的测试装置,其特征在于,所述装置应用于负载均衡设备,该装置包括:
记录单元,用于针对首次测试时收到的来自终端的第一测试报文,根据待测试的负载均衡算法将所述第一测试报文发送至对应的服务器,在收到所述第一测试报文对应的第一应答报文时,记录所述第一应答报文中的服务器地址,执行下一次测试;
发送单元,用于以第二次及后续测试时收到的来自终端的测试报文为第二测试报文,针对所述第二测试报文,根据所述待测试的负载均衡算法及已记录的服务器的地址,确定所述第二测试报文对应的目标服务器,将所述第二测试报文发送至所述目标服务器;
判断单元,用于根据收到的所述第二测试报文对应的第二应答报文,判断所述第二测试报文是否到达所述目标服务器,若是,则记录所述第二应答报文中的服务器的地址,执行下一次测试,直至测试失败或测试结束;若否,则确认测试失败,并结束测试。
7.根据权利要求6所述的装置,其特征在于,
所述判断单元,具体用于判断所述第二应答报文的源地址与所述目标服务器的地址是否相同,若是,则确定所述第二测试报文到达所述目标服务器;若否,则确定所述第二测试报文未到达所述目标服务器。
8.根据权利要求6所述的装置,其特征在于,
所述发送单元,具体用于若所述负载均衡算法为轮询调度算法,则基于记录中的最新的服务器地址在预先设置的服务器顺序中查找所述最新的服务器地址对应的下一个服务器,将查找到的服务器作为所述第二测试报文的目标服务器。
9.根据权利要求8所述的装置,其特征在于,
所述判断单元,具体用于预先为每个服务器生成对应的ACL规则,所述ACL规则的匹配条件至少包括应答报文的源地址为服务器的地址,执行动作为命中计数加1;根据所述第二应答报文判断所述目标服务器对应的ACL规则的命中计数是否加1,如果是,则确定所述第二测试报文到达所述目标服务器;如果否,则确认所述第二测试报文未到达所述目标服务器。
10.根据权利要求9所述的装置,其特征在于,
所述ACL规则的匹配条件还包括:应用协议及端口为服务器对应协议及端口,VLAN为服务器所在的VLAN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349752.8A CN111130936B (zh) | 2019-12-24 | 2019-12-24 | 一种负载均衡算法的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349752.8A CN111130936B (zh) | 2019-12-24 | 2019-12-24 | 一种负载均衡算法的测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111130936A true CN111130936A (zh) | 2020-05-08 |
CN111130936B CN111130936B (zh) | 2021-05-28 |
Family
ID=70502033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911349752.8A Active CN111130936B (zh) | 2019-12-24 | 2019-12-24 | 一种负载均衡算法的测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111130936B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312264A (zh) * | 2021-06-08 | 2021-08-27 | 中国农业银行股份有限公司 | 业务系统测试方法、装置、设备、介质及产品 |
CN114785737A (zh) * | 2022-04-11 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 报文处理方法、网关设备、服务器及存储介质 |
CN115277506A (zh) * | 2022-07-23 | 2022-11-01 | 杭州迪普科技股份有限公司 | 负载均衡设备测试方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1385314A1 (en) * | 2002-07-23 | 2004-01-28 | Avaya Communication Israel Ltd. | Global server load balancer |
CN103279391A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于cpu与mic架构处理器协同计算的负载均衡优化方法 |
CN104980317A (zh) * | 2015-06-18 | 2015-10-14 | 南京南瑞集团公司 | 一种调度数据网设备的自动测试系统及测试方法 |
CN108200185A (zh) * | 2018-01-15 | 2018-06-22 | 杭州迪普科技股份有限公司 | 一种实现负载均衡的方法及装置 |
CN108322524A (zh) * | 2018-01-22 | 2018-07-24 | 杭州迪普科技股份有限公司 | 一种负载均衡设备会话保持测试方法及装置 |
CN108667692A (zh) * | 2018-07-06 | 2018-10-16 | 厦门网宿有限公司 | 一种分布式缓存设备负载均衡的性能测试方法及系统 |
CN109981419A (zh) * | 2019-04-11 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 负载均衡特性的测试方法、装置、系统、设备及存储介质 |
-
2019
- 2019-12-24 CN CN201911349752.8A patent/CN111130936B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1385314A1 (en) * | 2002-07-23 | 2004-01-28 | Avaya Communication Israel Ltd. | Global server load balancer |
CN103279391A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于cpu与mic架构处理器协同计算的负载均衡优化方法 |
CN104980317A (zh) * | 2015-06-18 | 2015-10-14 | 南京南瑞集团公司 | 一种调度数据网设备的自动测试系统及测试方法 |
CN108200185A (zh) * | 2018-01-15 | 2018-06-22 | 杭州迪普科技股份有限公司 | 一种实现负载均衡的方法及装置 |
CN108322524A (zh) * | 2018-01-22 | 2018-07-24 | 杭州迪普科技股份有限公司 | 一种负载均衡设备会话保持测试方法及装置 |
CN108667692A (zh) * | 2018-07-06 | 2018-10-16 | 厦门网宿有限公司 | 一种分布式缓存设备负载均衡的性能测试方法及系统 |
CN109981419A (zh) * | 2019-04-11 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 负载均衡特性的测试方法、装置、系统、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312264A (zh) * | 2021-06-08 | 2021-08-27 | 中国农业银行股份有限公司 | 业务系统测试方法、装置、设备、介质及产品 |
CN114785737A (zh) * | 2022-04-11 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 报文处理方法、网关设备、服务器及存储介质 |
CN115277506A (zh) * | 2022-07-23 | 2022-11-01 | 杭州迪普科技股份有限公司 | 负载均衡设备测试方法及系统 |
CN115277506B (zh) * | 2022-07-23 | 2023-05-23 | 杭州迪普科技股份有限公司 | 负载均衡设备测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111130936B (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111130936B (zh) | 一种负载均衡算法的测试方法及装置 | |
CN106302434B (zh) | 服务器适配方法、装置和系统 | |
US11082308B2 (en) | Multi-path aware tracing and probing functionality at service topology layer | |
WO2017097123A1 (zh) | 访问请求转换的方法和装置 | |
CN110839017B (zh) | 代理ip地址识别方法、装置、电子设备及存储介质 | |
CN107634964B (zh) | 一种针对waf的测试方法及装置 | |
CN111371639B (zh) | 网络延时分析方法、装置、存储介质和计算机设备 | |
US20220029900A1 (en) | Detecting sources of computer network failures | |
CN111953770B (zh) | 一种路由转发方法、装置、路由设备及可读存储介质 | |
CN109818824B (zh) | 一种报文转发测试方法、设备及存储设备、程序产品 | |
US7907599B2 (en) | Determination of SIP transport to reduce call setup delays | |
CN110225099A (zh) | 一种数据处理方法、前端客户端、后端服务器及存储介质 | |
CN110311866B (zh) | 一种快速转发报文的方法及装置 | |
CN110417747B (zh) | 一种暴力破解行为的检测方法及装置 | |
CN108769016B (zh) | 一种业务报文的处理方法及装置 | |
CN112073234A (zh) | 一种故障检测方法、装置、系统、设备及存储介质 | |
CN109246189B (zh) | 网络数据分发方法及装置、存储介质、服务端 | |
CN111917682B (zh) | 访问行为识别方法、性能检测方法、装置、设备和系统 | |
CN110798402B (zh) | 业务消息处理方法、装置、设备及存储介质 | |
CN111953810B (zh) | 识别代理互联网协议地址的方法、装置及存储介质 | |
CN108833410A (zh) | 一种针对HTTP Flood攻击的防护方法及系统 | |
CN111107083B (zh) | 一种白名单规格的测试方法及装置 | |
CN110611678B (zh) | 一种识别报文的方法及接入网设备 | |
CN101127720B (zh) | 保证网络地址转换负载均衡内部本地地址可达的方法 | |
CN117938542B (zh) | 一种网络流量数据的方向确定方法、装置、设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |