ADC

最短响应时间方法

当负载平衡虚拟服务器配置为使用最短响应时间方法时,它会选择活动连接最少、平均响应时间最短的服务。您只能为 HTTP 和安全套接字层 (SSL) 负载平衡虚拟服务器配置此方法。响应时间(也称为第一个字节的时间或 TTFB)是向服务发送请求数据包和从服务接收第一个响应数据包之间的时间间隔。NetScaler 设备使用响应码 200 来计算 TTFB。

以下示例显示虚拟服务器如何使用最短响应时间方法选择服务进行负载平衡。考虑以下三项服务:

  • Service-HTTP-1 正在处理三个活跃的事务,而 TTFB 正在处理两秒钟。
  • Service-HTTP-2 正在处理七个活跃事务,而 TTFB 是一秒钟。
  • Service-HTTP-3 不处理任何活跃的事务,TTFB 是两秒钟。

下图说明了 NetScaler 设备如何使用最短响应时间方法转发连接。

图 1. 最短响应时间负载平衡方法的工作原理

最短响应时间机制

虚拟服务器通过将活动事务数乘以每个服务的 TTFB,然后选择结果最低的服务来选择服务。在上面显示的示例中,虚拟服务器按如下方式转发请求:

  • Service-HTTP-3 接收第一个请求,因为该服务不处理任何活动事务。
  • Services HTTP-3 还接收第二个和第三个请求,因为结果是三项服务中最低的。
  • Service-HTTP-1 接收第四个请求。由于 service-HTTP-1 和 service-HTTP-3 的结果相同,因此 NetScaler 设备通过应用循环方法在它们之间进行选择。
  • Service-HTTP-3 接收第五个请求。
  • service-HTTP-2 收到了第六个请求,因为此时它的结果最低。
  • 由于 Service-HTTP-1、Service-HTTP-2 和 Service-HTTP-3 在此时都具有相同的结果,因此设备切换到循环方法,并继续使用该方法分发连接。

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

已收到请求 已选服务 当前 N 值(活跃交易数量 x 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-1;(N = 6) N = 8 Service-HTTP-1 和 Service-HTTP-3 具有相同的 N 值。设备使用循环方法来分发请求。
Request-5 service-HTTP-3;(N = 6) N = 8 Service-HTTP-1 和 Service-HTTP-3 具有相同的 N 值。
Request-6 service-HTTP-2;(N = 7) N = 8 Service-HTTP-2 具有最低的 N 值。
Request-7 service-HTTP-3;(N = 8) N = 10 service-HTTP-1、service-HTTP-2 和 service-HTTP-3 具有相同NetScaler 设备使用循环方法来分发请求。
Request-8 service-HTTP-1;(N = 8) N = 10 service-HTTP-1 和 service-HTTP-2 具有相同的 N 个值,设备使用循环方法来分发请求。

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

分配权重时选择服务

下图说明了分配权重时 NetScaler 设备如何使用最短响应时间方法。

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

轻轨砝码

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

NW = (N) * (10000/重量),其中 N =(活跃交易数量 * TTFB)

假设为 Service-HTTP-1 分配了权重 2,为 Service-HTTP-2 分配了权重 3,为 Service-HTTP-3 分配了权重 4。

NetScaler 设备按以下方式分发请求:

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

    如果服务没有处理任何活动的交易,则无论分配给它们的权重如何,设备都会选择它们。

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

  • Service-HTTP-2 收到第六个请求,因为该服务的 Nw 值最低。

  • Service-HTTP-3 收到第七个请求,因为该服务的 Nw 值最低。

  • Service-HTTP-2 收到第八个请求,因为该服务的 Nw 值最低。

Service-HTTP-1 的权重最低,因此 Nw 值最高,因此虚拟服务器不会选择它进行负载平衡。

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

已收到请求 已选服务 Current Nw Value = (N) * (10000 / Weight) 备注
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 配置最短响应时间负载平衡方法

在命令提示符处键入;

set lb vserver <name> -lbMethod LEASTRESPONSETIME
<!--NeedCopy-->

示例:

set lb vserver Vserver-LB-1 -lbMethod LEASTRESPONSETIME
<!--NeedCopy-->

使用 GUI 配置最短响应时间负载平衡方法

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后打开虚拟服务器。
  2. 在“高级设置”中,选 择“最短响应时间”。

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

最短响应时间方法