ADC

最少连接方法

当虚拟服务器配置为使用最小连接负载平衡算法(或方法)时,它会选择活动连接最少的服务。这是默认方法,因为在大多数情况下,它可以提供最佳性能。

对于 TCP、HTTP、HTTPS 和 SSL_TCP 服务,NetScaler 设备在其现有连接列表中包括以下连接类型:

  • 与服务的活跃连接。表示客户端已向虚拟服务器发送的请求以及虚拟服务器已转发到服务的请求的连接。对于 HTTP 和 HTTPS 服务,活动连接仅代表那些尚未收到响应的 HTTP 或 HTTPS 请求。
  • 正在等待激增队列中的连接。在激增队列中等待且尚未转发到服务的任何与虚拟服务器的连接。出于以下任一原因,随时可以在surge队列中建立连接:
    • 您的服务有连接限制,负载平衡配置中的所有服务都处于该限制。
    • 浪涌保护功能已配置完毕,已通过对虚拟服务器的请求激增而激活。
    • 负载平衡服务器已达到内部限制,因此未打开任何新连接。(例如,已达到 Apache 服务器的连接限制。)

当虚拟服务器使用最小连接方法时,它会将等待的连接视为属于特定服务。因此,它不会打开与这些服务的新连接。

对于 UDP 服务,最小连接算法考虑的连接包括客户端与服务之间的所有会话。这些会话是基于时间的逻辑实体。当会话中的第一个 UDP 数据包到达时,NetScaler 设备将在源 IP 地址和端口与目标 IP 地址和端口之间创建会话。

对于实时流协议 (RTSP) 连接,NetScaler 设备使用活动控制连接的数量来确定与 RTSP 服务的最低连接数。

以下示例显示虚拟服务器如何使用最小连接方法选择服务进行负载平衡。考虑以下三项服务:

  • Service-HTTP-1 正在处理 3 个活跃事务。
  • Service-HTTP-2 正在处理 15 个活跃事务。
  • Service-HTTP-3 不处理任何活跃事务。

下图说明了使用最少连接方法时 NetScaler 设备如何转发传入的请求。

图 1. 最小连接负载平衡方法的机制

LB-least-connection

在此图中,虚拟服务器通过选择活动事务最少的服务器为每个传入连接选择服务。

连接的转发方式如下:

  • Service-HTTP-3 接收第一个请求,因为它不处理任何活动事务。

    注意:首先选择没有活跃交易的服务。

  • Service-HTTP-3 接收第二和第三个请求,因为该服务具有下一个最少的活动事务数。

  • Service-HTTP-1 收到第四个请求,因为 Service-HTTP-1 和 Service-HTTP-3 具有相同数量的活动事务,虚拟服务器使用循环方法在它们之间进行选择。

  • Service-HTTP-3 接收第五个请求。

  • Service-HTTP-1 接收第六个请求,依此类推,直到 Service-HTTP-1 和 Service-HTTP-3 处理与 Service-HTTP-2 相同数量的请求。然后,当 Service-HTTP-2 是负载最少的服务或轮到它出现在循环队列中时,NetScaler 设备会开始将请求转发到 service-HTTP-2。

    注意:如果与 Service-HTTP-2 的连接关闭,它可能会在其他两个服务中的每个服务具有 15 个活动事务之前获得新的连接。

下表说明了在前面介绍的三服务负载平衡设置中如何分配连接。

传入连接 已选服务 当前活跃连接数 备注
Request-1 Service-HTTP-3; (N = 0) 1 Service-HTTP-3 的活动连接最少。
Request-2 service-HTTP-3;(N = 1) 2 Service-HTTP-3 的活动连接最少。
Request-3 Service-HTTP-3; (N = 2) 3 -
Request-4 Service-HTTP-1; (N = 3) 4 Service-HTTP-1 和 service-HTTP-3 的活动连接数量相同。
Request-5 Service-HTTP-3; (N = 3) 4 Service-HTTP-1 和 service-HTTP-3 的活动连接数量相同。
Request-6 service-HTTP-1;(N = 4) 5 -
Request-7 Service-HTTP-3; (N = 4) 5 -
Request-8 Service-HTTP-1; (N = 5) 6 -

当 service-HTTP-2 完成其活动事务且当前与它的连接关闭时,或者当其他服务(service-HTTP-1 和 service-HTTP-3)各有 15 个或更多连接时,会选择 Service-HTTP-2 进行负载平衡。

为服务分配权重时,NetScaler 设备也可以使用最小连接方法。它使用以下表达式的值 (Nw) 选择服务:

Nw =(活跃交易数量)*(10000 /重量)

以下示例显示在为服务分配权重时,NetScaler 设备如何使用最小连接方法选择服务进行负载平衡。在前面的示例中,假设 service-HTTP-1 的权重分配为 2,为 service-HTTP-2 分配的权重为 3,为 service-HTTP-3 分配的权重为 4。连接的转发方式如下:

  • Service-HTTP-3 接收第一个,因为该服务不处理任何活动事务。

注意:

如果服务未处理任何活动交易,则无论分配给每项服务的权重如何,NetScaler 设备都会使用循环方法。

  • Service-HTTP-3 接收第二、第三、第四、第五和第六个请求,因为该服务的 Nw 值最低。

  • Service-HTTP-1 收到第七个请求。由于 S服务HTTP-1 和 Sservice-HTTP-3 现在具有相同的 NW 值,所以设备以循环方式执行负载平衡。因此,Service-HTTP-3 接收第八个请求。

下表说明了如何在前面介绍的三服务负载平衡设置上分配连接。

已收到请求 已选服务 当前 Nw(活跃交易数量)*(10000 /权重)值 备注
Request-1 service-HTTP-3;(Nw = 0) Nw = 2500 Service-HTTP-3 的 Nw 值最低。
Request-2 Service-HTTP-3; (Nw = 2500) Nw = 5000  
Request-3 Service-HTTP-3; (Nw = 5000) Nw = 7500  
Request-4 service-HTTP-3;(Nw = 7500) Nw = 10000  
Request-5 Service-HTTP-3; (Nw = 10000) Nw = 12500  
Request-6 Service-HTTP-3; (Nw = 12500) Nw = 15000  
Request-7 Service-HTTP-1; (Nw = 15000) Nw = 20000 service-http-1 和 service-HTTP-3 具有相同的
Request-8 Service-HTTP-3; (Nw = 15000) Nw = 17500  

当 service-HTTP-2 完成其活动事务或当其他服务(service-HTTP-1 和 service-HTTP-3)的 Nw 值等于 50000 时,会选择 Service-HTTP-2 进行负载平衡。

下图说明了在为服务分配权重时,NetScaler 设备如何使用最小连接方法。

图 2. 赋权时最小连接负载平衡方法的机制

分配权重和方法

要配置最少连接方法,请参阅 配置不包含策略的负载平衡方法

最少连接方法