HAProxy 健康检查在 Squid 中记录为 TCP_MISS/000

HAProxy 健康检查在 Squid 中记录为 TCP_MISS/000

我们有一个 HAProxy 前端,用于平衡一层 Squid 服务器的负载,该层处理来自 Apache ModSecurity 层的数据,并最终提供来自 IIS 集群的数据。每台 Squid 服务器都以 1:1 的关系映射到一台 ModSecurity 服务器(例如 N 台 Squid 服务器和 N 台 ModSecurity 服务器)。

集群中的一台服务器在 HAProxy 中持续出现更高的健康检查时间。check.txt 文件配置为绕过缓存,因此它将从 IIS 层检索文件。Squid 访问日志(下面的示例)显示 ,TCP_MISS/000而不是TCP_MISS/200所有“良好”服务器显示的 。有人见过这种行为吗?

此外,在“好服务器”中,您会看到 是DIRECT/10.xxx.xxx.221一致的。然而,在“坏服务器”中,日志在DIRECT/10.xxx.xxx.222和之间交替DIRECT/www.example.com

有什么想法吗?

不良服务器的结果:

1308159554.223      0 xxx.xxx.xxx.49 TCP_MISS/000 0 HEAD http://www.example.com/check.txt - DIRECT/www.example.com -
1308159558.526      1 xxx.xxx.xxx.86 TCP_MISS/000 0 HEAD http://www.example.com/check.txt - DIRECT/10.xxx.xxx.222 -
1308159558.527      0 xxx.xxx.xxx.87 TCP_MISS/000 0 HEAD http://www.example.com/check.txt - DIRECT/www.example.com -
1308159558.621      0 xxx.xxx.xxx.48 TCP_MISS/000 0 HEAD http://www.example.com/check.txt - DIRECT/www.example.com -

良好服务器的结果:

1308159578.289      2 xxx.xxx.xxx.48 TCP_MISS/200 430 HEAD http://www.example.com/check.txt - DIRECT/10.xxx.xxx.221 text/plain
1308159578.695      6 xxx.xxx.xxx.86 TCP_MISS/200 430 HEAD http://www.example.com/check.txt - DIRECT/10.xxx.xxx.221 text/plain
1308159579.087      4 xxx.xxx.xxx.87 TCP_MISS/200 430 HEAD http://www.example.com/check.txt - DIRECT/10.xxx.xxx.221 text/plain

答案1

我相信我已经找到解决我的问题的方法。

第一个问题是,出现问题的 Squid 服务器由于与 SAN 数据存储的通信方式而出现 I/O 问题。

第二个问题可能是第一个问题的症状,即另外两个已弃用的 HAProxy 服务器也在 Squid 服务器上运行健康检查。然而,在无 I/O 瓶颈的环境中,我认为这不是真正的原因,除非它与不同版本的 HAProxy 有关。

相关内容