Citrix ADC

动态往返时间法

动态往返时间(RTT)是客户端本地DNS服务器和数据资源之间网络时间或延迟的度量。为了测量动态RTT, Citrix ADC设备探测客户端的本地DNS服务器并收集RTT度量信息。然后,设备使用这个度量来做出负载平衡决策。全局服务器负载均衡监控网络的实时状态,并动态地将客户端请求定向到RTT值最低的数据中心。

当客户端对某个域的DNS请求到达已配置为该域的权威DNS的Citrix ADC设备时,该设备将使用RTT值选择性能最佳的站点的IP地址,将其作为对DNS请求的响应发送。

Citrix ADC设备使用不同的机制,例如ICMP回声请求或应答(PING)、UDP和TCP来收集本地DNS服务器和参与站点之间连接的RTT度量。设备首先发送一个ping探测来确定RTT。如果ping探测失败,则使用DNS UDP探测。如果该探测也失败,设备将使用DNS TCP探测。

这些机制在Citrix ADC设备上表示为负载平衡监视器,由于使用了“ldns”前缀,因此很容易识别。这三个监视器的默认顺序是:

  • ldns-ping
  • ldns-dns
  • ldns-tcp

这些监控器内置于设备中,并设置为安全默认值。但是它们像设备上的任何其他监视器一样是可定制的。

您可以通过显式地将其设置为GSLB参数来更改默认顺序。例如,要设置顺序为DNS UDP查询,然后是PING,然后是TCP,键入以下命令:

设置gslb参数-ldnsprobeOrder DNS PING TCP——NeedCopy >

除非已经定制,否则Citrix ADC设备会在端口53上执行UDP和TCP探测,但是与常规负载平衡监控不同的是,探测不需要成功提供有效的RTT信息。ICMP端口不可用消息、TCP复位和DNS错误响应,这些通常构成失败,对于计算RTT值都是可以接受的。

编译完RTT数据后,设备使用专有的度量交换协议(MEP)在参与站点之间交换RTT值。在计算RTT指标之后,该设备对RTT值进行排序,以确定具有最佳(最小)RTT指标的数据中心。”

如果RTT信息不可用(例如,当客户机的本地DNS服务器第一次访问该站点时),Citrix ADC设备将使用轮询方法选择一个站点,并将客户机引导到该站点。

要配置动态方法,需要为动态RTT配置站点的GSLB虚拟服务器。您也可以将本地DNS服务器的探测时间间隔设置为缺省值以外的值。

配置动态RTT的GSLB虚拟服务器

为动态RTT配置GSLB虚拟服务器时,需要指定RTT负载均衡方式。

Citrix ADC设备定期验证给定本地服务器的定时信息。如果延迟的变化超过了配置的容差因子,设备将使用新的计时信息更新其数据库,并通过执行MEP交换将新值发送到其他GSLB站点。默认的容差因子是5毫秒。

整个GSLB域的RTT公差因子必须相同。如果为站点更改它,则必须在部署在GSLB域中的所有Citrix ADC设备上配置相同的RTT公差因子。

通过命令行界面配置动态RTT的GSLB虚拟服务器

在命令提示符下,输入:

set gslb vserver  -lbMethod RTT -tolerance  

例子:

set gslb vserver vserver - gslb -1 -lbMethod RTT -tolerance 10 

使用配置实用程序为动态RTT配置GSLB虚拟服务器

导航到交通管理>GSLB>虚拟服务器双击虚拟服务器。

设置本地DNS服务器的探测周期

Citrix ADC设备使用不同的机制,例如ICMP回声请求或应答(PING)、TCP和UDP来获取本地DNS服务器与参与GSLB站点之间连接的RTT度量。默认情况下,该设备使用一个ping监视器,每5秒探测一次本地DNS服务器。然后,设备等待响应2秒。如果在这段时间内没有收到响应,它将使用TCP DNS监视器进行探测。

但是,您可以修改探测本地DNS服务器的时间间隔以适应您的配置。

使用命令行接口修改探测间隔

在命令提示符下,输入:

set lb monitor   -interval   -resptimeout   

例子:

set lb monitor lns -tcp lns -tcp -interval 10 sec -resptimeout 5 sec 

要使用配置实用程序修改探测间隔

导航到交通管理>负载平衡>监控,双击要修改的监视器(例如ping)。

动态往返时间法