Citrix ADC

LRTM 法

注意:LRTM 代表使用监视器(LRTM)的最小响应时间方法。

当负载平衡虚拟服务器配置为使用 LRTM 方法时,它会使用现有的监视基础结构来获得最快的响应时间。然后,负载平衡虚拟服务器会选择活动事务数量最少且响应时间最短的服务。在使用 LRTM 方法之前,必须将特定于应用程序的监视器绑定到每个服务,并在这些监视器上启用 LRTM 模式。然后,Citrix ADC 设备根据从监视探测中计算出的响应时间做出负载平衡决策。

您也可以使用 LRTM 方法来平衡非 HTTP 和非 HTTPS 服务。当多个监视器绑定到服务时,您也可以使用此方法。每个监视器通过使用它为绑定到的服务测量的协议来确定响应时间。然后,虚拟服务器通过平均结果来计算该服务的平均响应时间。

下表汇总了如何计算各种监视器的响应时间。

监视 响应时间计算
PING ICMP 回声请求和 ICMP 回声响应之间的时差。
TCP SYN 请求和 SYN+ACK 响应之间的时差。
HTTP HTTP 请求(在建立 TCP 连接之后)和 HTTP 响应之间的时差。
tcp-ecv 发送数据发送字符串与返回数据接收字符串之间的时差。没有发送和接收字符串的 tcp-ecv 监视器被认为具有不正确的配置。
http-ecv HTTP 请求和 HTTP 响应之间的时差。
UDP-ECV UDP 发送字符串和 UDP 接收字符串之间的时差。没有接收字符串的 UDP-ECV 监视器被视为配置不正确。
DNS DNS 查询和 DNS 响应之间的时差。
TCPS SYN 请求和 SSL 握手完成之间的时差。
FTP 发送用户名和完成用户身份验证之间的时差。
HTTPS(监视 HTTPS 请求) 时差与 HTTP 监视器相同。
HTTPS-ECV(监视 HTTPS 请求) 时差与 http-ecv 监视器相同
USER 向调度员发送请求的时间与接收调度员响应的时间之间的时差。

以下示例显示 Citrix ADC 设备如何使用 LRTM 方法选择用于负载平衡的服务。考虑以下三项服务:

  • Service-HTTP-1 正在处理 3 个活动事务,响应时间为 5 秒钟。
  • Service-HTTP-2 正在处理 7 个活动事务,响应时间为一秒钟。
  • Service-HTTP-3 不处理任何活动事务,响应时间为两秒钟。

下图说明 Citrix ADC 设备在转发请求时遵循的过程。

图 1. LRTM 方法的工作原理

最低响应时间机制

虚拟服务器通过使用以下表达式中的值 (N) 来选择服务:

N =(活动事务数量 * 响应时间由监视器确定)

虚拟服务器按如下方式传递请求:

  • Service-HTTP-3 接收第一个请求,因为此服务不处理任何活动事务。
  • Service-HTTP-3 接收第二个、第三个和第四个请求,因为此服务具有最低的 N 个值。
  • Service-HTTP-2 接收第五个请求,因为此服务的 N 值最低。
  • 由于 Service-HTTP-2 和 Service-HTTP-3 当前具有相同的 N 值,Citrix ADC 设备切换到循环方法因此,Service-HTTP-3 会收到第六个请求。
  • Service-HTTP-2 接收第七和第八个请求,因为此服务的 N 值最低。

Service-HTTP-1 不考虑进行负载平衡,因为与其他两个服务相比,它的负载更多(N 值最高)。但是,如果 Service-HTTP-1 完成其活动事务,Citrix ADC 设备将再次考虑该服务以实现负载平衡。

下表汇总了如何为服务计算 N。

已收到请求 已选择的服务 当前 N 值(活跃交易数量 * TTFB) 备注
Request-1 Service-HTTP-3;(N = 0) N = 2 Service-HTTP-3 具有最低的 N 值。
Request-2 Service-HTTP-3; (N = 2) N = 4 Service-HTTP-3 具有最低的 N 值。
Request-3 Service-HTTP-3; (N = 4) N = 6 Service-HTTP-3 具有最低的 N 值。
Request-4 Service-HTTP-3; (N = 6) N = 8 Service-HTTP-3 具有最低的 N 值。
Request-5 Service-HTTP-2; (N = 7) N = 8 Service-HTTP-2 具有最低的 N 值。
Request-6 Service-HTTP-3; (N = 8) N = 10 Service-HTTP-2 和 Service-HTTP-3 具有相同的 N 值。Citrix ADC 设备切换到循环方法并选择 Service-HTTP-3
Request-7 Service-HTTP-2; (N = 8) N = 9 Service-HTTP-2 具有最低的 N 值。
Request-8 Service-HTTP-2; (N = 9) N = 10 Service-HTTP-2 具有最低的 N 值。

Service-HTTP-1 在完成其活动事务或其 N 值小于其他服务(Service-HTTP-2 和 Service-HTTP-3)时再次选择进行负载平衡。

分配权重时选择服务

Citrix ADC 设备还通过使用活动事务数、响应时间和权重(如果为服务分配了不同的权重)来执行负载平衡。Citrix ADC 设备使用以下表达式中的值 (Nw) 来选择服务:

Nw = (N) * (10000/重量)

其中 N =(活动事务数量 * 响应时间由监视器确定)

下图说明了在分配权重时虚拟服务器如何使用 LRTM 方法。

图 2. 在分配权重时,最小响应时间负载平衡方法的工作原理

轻量重

在此示例中,假设为 Service-HTTP-1 分配了权重 2,为 Service-HTTP-2 分配了权重 3,为 Service-HTTP-3 分配了权重 4。

Citrix ADC 设备按如下方式传递请求:

  • Service-HTTP-3 接收第一个请求,因为它不处理任何活动事务。
  • Service-HTTP-3 接收第二、第三、第四和第五个请求,因为此服务的 Nw 值最低。
  • Service-HTTP-2 接收第六个请求,因为此服务的 Nw 值最低。
  • Service-HTTP-3 接收第七个请求,因为此服务的 Nw 值最低。
  • Service-HTTP-2 接收第八个请求,因为此服务的 Nw 值最低。

Service-HTTP-1 的权重最低,Nw 值最高,因此 Citrix ADC 设备不会选择它进行负载平衡。

下表总结了如何计算各种监视器的 Nw。

已收到请求 已选择的服务 当前 Nw 值 (N) * (10000/重量) 备注
Request-1 Service-HTTP-3; (Nw = 0) Nw = 5000 Service-HTTP-3 具有最低的 Nw 值。
Request-2 Service-HTTP-3; (Nw = 5000 Nw = 10000 Service-HTTP-3 具有最低的 Nw 值。
Request-3 Service-HTTP-3; (Nw = 10000) Nw = 15000 Service-HTTP-3 具有最低的 Nw 值。
Request-4 Service-HTTP-3; (Nw = 15000) Nw = 20000 Service-HTTP-3 具有最低的 Nw 值。
Request-5 Service-HTTP-3; (Nw = 20000) Nw = 25000 Service-HTTP-3 具有最低的 Nw 值。
Request-6 Service-HTTP-2; (Nw = 23333.34) Nw = 26666.67 Service-HTTP-2 具有最低的 Nw 值。
Request-7 Service-HTTP-3; (Nw = 25000) Nw= 30000 Service-HTTP-3 具有最低的 Nw 值。
Request-8 Service-HTTP-2; (Nw = 26666.67) Nw = 30000 Service-HTTP-2 具有最低的 Nw 值。

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

使用 CLI 配置 LRTM 负载平衡方法

在命令提示符处键入;

set lb vserver <name> [-lbMethod <lbMethod>]

示例:

set lb vserver Vserver-LB-1 -lbMethod LRTM

使用 GUI 配置 LRTM 负载平衡方法

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后打开虚拟服务器。

  2. 在高级设置中,选择 LRTM

使用 CLI 在监视器中启用 LRTM 选项

在命令提示符处键入;

set lb monitor <monitorName> <type> [-LRTM ( ENABLED | DISABLED )]

示例:

set lb monitor monitor-HTTP-1 HTTP -LRTM ENABLED

使用 GUI 在显示器中启用 LRTM 选项

  1. 导航到 流量管理 > 负载平衡 > 监视器 ,然后打开监视器。
  2. 在“高级参数”中,选择 LRTM(使用监视最短响应时间)

有关配置监视器的更多信息,请参阅在负载平衡设置中配置监视器

LRTM 法