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接收第二个和第三个请求,因为该服务的活动事务数量次之少。

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

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

  • Service-HTTP-1接收第六个请求,以此类推,直到Service-HTTP-1和Service-HTTP-3处理的请求数量与Service-HTTP-2相同。然后,Citrix ADC设备开始将请求转发到service - http -2,此时service - 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个或更多连接时,选择Service-HTTP-2进行负载平衡。

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

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

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

  • service - http -3接收第一个,因为该服务没有处理任何活动事务。

    注意:如果服务不处理任何活动事务,Citrix ADC设备将使用轮询方法,而不管分配给每个服务的权重如何。

  • service - http -3接收第2、第3、第4、第5、第6和第7个请求,因为服务的Nw值最低。

  • Service-HTTP-1接收第八个请求。由于Service-HTTP-1和Service-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-2进行负载均衡。

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

图2。分配权重时最小连接数负载均衡方法的机制

分配权重和方法

要配置最小连接方法,请参见配置不包含策略的负载均衡方式

最小连接法