Citrix ADC

负载均衡算法

负载平衡算法定义了Citrix ADC设备用来选择将每个客户机请求重定向到的服务的标准。不同的负载均衡算法使用不同的标准。例如,最小连接算法选择活动连接最少的服务,而轮循算法维护活动服务的运行队列,将每个连接分配给队列中的下一个服务,然后将该服务发送到队列的末尾。

有些负载平衡算法最适合处理网站上的流量,有些最适合管理DNS服务器上的流量,还有一些最适合处理电子商务或公司局域网或广域网中使用的复杂web应用程序。下表列出了Citrix ADC设备支持的每种负载平衡算法,并简要描述了每种算法的操作方式。

的名字 基于的服务器选择
LEASTCONNECTION 哪个服务目前拥有最少的客户端连接。默认的负载均衡算法。
设置轮流捡取 哪个服务位于服务列表的顶部。为连接选择该服务后,它会移动到列表的底部。
LEASTRESPONSETIME 当前哪个负载均衡服务器具有最快的响应时间。
URLHASH 目标URL的散列。
DOMAINHASH 目标域的散列。
DESTINATIONIPHASH 目的IP地址的哈希值。
SOURCEIPHASH 源IP地址的散列。
SRCIPDESTIPHASH 源IP地址和目的IP地址的散列。
CALLIDHASH SIP报头中的呼叫标识的散列。
SRCIPSRCPORTHASH 客户端的IP地址和端口的散列。
LEASTBANDWIDTH 当前哪个服务的带宽限制最少。
LEASTPACKETS 哪个服务当前接收的数据包最少。
CUSTOMLOAD 来自负载监控器的数据。
令牌 配置的令牌。
LRTM 活动连接最少,平均响应时间最短。

根据负载平衡服务的协议,Citrix ADC设备将客户机和服务器之间的每个连接设置为持续不同的时间间隔。这称为负载平衡粒度,有三种类型:基于请求的粒度、基于连接的粒度和基于时间的粒度。下表描述了每种粒度类型以及使用它们的时间。

粒度 负载均衡服务的类型 指定
基于请求的 HTTP或HTTPS 为每个HTTP请求选择一个新的服务,独立于TCP连接。与所有HTTP请求一样,在Web服务器完成请求后,连接将关闭。
它可以 TCP和HTTP以外的基于TCP的协议 为每个新的TCP连接选择一个服务。连接将持续,直到服务或客户端终止为止。
基于时间的 UDP和其他IP协议 为每个UDP包选择一个新的服务。一旦选择了一个服务,就会在服务和客户端之间创建一个特定时间段的会话。当时间到期时,会话将被删除,并为任何额外的包选择一个新的服务,即使这些包来自同一个客户端。

在虚拟服务器启动期间,或者当虚拟服务器的状态发生变化时,虚拟服务器最初可以使用轮询方法在物理服务器之间分发客户机请求。这种类型的分布,称为启动轮询,帮助防止在处理初始请求时在单个服务器上产生不必要的负载。虚拟服务器在启动时使用轮询方式后,切换到虚拟服务器上配置的负载均衡方式。

启动RR因子以以下方式工作:

  • 如果Startup RR Factor设置为零,设备将根据请求速率切换到指定的负载均衡方法。
  • 如果Startup RR Factor不是零,则设备在切换到指定的负载均衡方法之前,会对指定数量的请求使用轮询方法。
  • 缺省情况下,启动RR因子为零。

注意:不能为单个虚拟服务器设置启动RR因子。您指定的值适用于Citrix ADC设备上的所有虚拟服务器。

使用CLI命令设置启动轮询因子

在命令提示符处,输入:

设置lb参数-startupRRFactor

例子

配置lb参数-startupRRFactor 25000

使用GUI设置启动循环因子

  1. 导航到流量管理>负载均衡>配置负载均衡参数,设置启动RR因子。
负载均衡算法