Citrix ADC

最少连接方法

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

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

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

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

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

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

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

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

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

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

LB-least-connection

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

连接按如下方式转发:

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

    注意:首先选择没有活动事务的服务。

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

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

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

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

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

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

传入连接 已选择的服务 当前活动连接数 备注
要求1 Service-HTTP-3;(n = 0) 1 Service-HTTP-3具有最少的活动连接。
请求2 Service-HTTP-3;(n = 1) 2 Service-HTTP-3具有最少的活动连接。
要求3 Service-HTTP-3;(n = 2) 3. -
要求4 Service-HTTP-1;(n = 3) 4 Service-HTTP-1和Service-HTTP-3具有相同数量的活动连接。
要求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个或更多的连接时,选择服务HTTP-2进行负载平衡。

将权重分配给服务时,Citrix ADC设备也可以使用最少连接方法。它通过使用以下表达式的值(西北)来选择服务:

Nw =(活动事务数量)*(10000/重量)

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

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

    注意:如果服务没有处理任何活动的事务,则无论分配给每项服务的权重如何,Citrix ADC设备都会使用循环方法。

  • 服务HTTP-3收到第二个,第三,第四,第五,第六和第七个请求,因为该服务的NW值最低。

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

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

已收到请求 已选择的服务 当前Nw(活动事务数量)*(10000/重量)值 备注
要求1 Service-HTTP-3;(Nw = 0) Nw = 2500 Service-HTTP-3具有最低的Nw值。
请求2 Service-HTTP-3;(Nw = 2500) Nw = 5000
要求3 Service-HTTP-3;(Nw = 5000) Nw = 7500
要求4 Service-HTTP-3;(Nw = 7500) Nw = 10000
要求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具有相同的Nw值
Request-8 Service-HTTP-3;(Nw = 15000) Nw = 17500

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

下图说明了在将权重分配给服务时,Citrix ADC设备如何使用最少连接方法。

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

分配权重和方法

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

最少连接方法

在本文中