HAProxy“正常运行时间”检查

我在集群中使用HAProxy 1.3.15,后面有一些运行IIS7(Win2k8)的服务器。 偶尔,当我检查“状态”时,我看到时间量“UP”已经复位。 我在服务器上看不到任何错误或重置,但我仍然觉得很奇怪。

所以,我想我有两个问题:

  1. HAProxy如何确定服务器是否为了报告而“UP”?
  2. 正常运行时间信息有多可靠?

“正常运行时间”是haproxy最后一次将其停止运转之后服务器已经运行了多长时间。

因此,如果您在连续几次检查中超过特定​​的响应时间,则正常运行时间将被重置。

定义server时,这些检查由检查选项定义:

此选项可启用服务器上的运行状况检查。 默认情况下,服务器始终被视为可用。 如果设置了“检查”,则服务器将定期接受健康检查,以确保能够真正为请求提供服务。 发送testing的默认地址和端口是服务器的默认地址和端口,默认的源和后台定义的一样。 可以使用“addr”参数,使用“port”参数的端口,使用“source”地址的源地址以及使用“inter”,“rise”和“fall”的间隔和定时器来更改地址“参数。

所以“less数支票”是由以下几方面控制的:

 fall <count> The "fall" parameter states that a server will be considered as dead after <count> consecutive unsuccessful health checks. This value defaults to 3 if unspecified. See also the "check", "inter" and "rise" parameters. 

响应时间或定时器由inter控制:

“inter”参数将两次连续健康检查之间的间隔设置为毫秒。 如果未指定,延迟默认为2000毫秒。 根据服务器状态,也可以使用“fastinter”和“downinter”来优化检查之间的延迟:

服务器状态使用的间隔向上100%(非过渡)“间”过渡向上(向下)过渡向下(向上),或者如果设置为“快速”,或者未被选中,则“间”向下100%(非过渡)如果设置为“interinter”,否则就像其他每个基于时间的参数一样,它们可以在{us,ms,s,m,h,d}之间的任何其他显式单元中input。 如果没有设置超时检查,则“inter”参数也用作发送到服务器的运行状况检查的超时。 为了减less在同一硬件上托pipe多个服务器时的“共振”效应,所有服务器的运行状况检查都以较小的时间偏移开始。 也可以使用全局“传播检查”关键字在健康检查间隔中添加一些随机噪声。 例如,当很多后端使用相同的服务器时,这是有意义的。

更多信息请访问http://code.google.com/p/haproxy-docs/wiki/ServerOptions