HTTP Web 服务器由 HAProxy 进行负载平衡;某些请求的响应速度非常慢

HTTP Web 服务器由 HAProxy 进行负载平衡;某些请求的响应速度非常慢

使用 HAProxy 对某些 Web 服务器进行负载平衡时,我遇到了一个奇怪的问题。负载平衡的响应有时会变得非常慢...

我的脚本:

global
  daemon
  quiet
  maxconn          4096
  nbproc           2

listen XMLRPC 0.0.0.0:8888
  mode http
  balance roundrobin
  option httpclose
  option forwardfor
  server Srv1(10.199.100.111:8082) 10.199.100.111:8082 check inter 10
  server Srv2(10.199.100.112:8084) 10.199.100.112:8084 check inter 10

listen Custom1 0.0.0.0:60080
  mode http
  balance roundrobin
  option httpclose
  option forwardfor
  server Srv1(10.199.100.111:60081) 10.199.100.111:60081 check inter 10
  server Srv2(10.199.100.112:60083) 10.199.100.112:60083 check inter 10

listen Statistics 0.0.0.0:7000
  balance
  timeout connect 60000
  timeout client  60000
  timeout server  60000
  option httpclose
  mode http
  stats enable
  stats uri /
  stats hide-version
  stats auth admin:admin

当我取出负载平衡器并直接连接到 Web 服务器时,此问题不会发生,但是我没有负载平衡/故障转移,所以这不是我想要的。

有人知道这里出了什么问题吗?为什么有些请求速度很快,而其他请求却很慢(10-15秒)?

提前致谢!

答案1

我觉得没什么明显错误。您没有超时,这很糟糕,但这无关紧要。您应该启用日志记录,它会告诉您请求在哪里花费了时间。为此,请使用“option httplog”和“log 127.0.0.1 local0”,然后设置您的 syslogd 以在 UDP 套接字上接收日志(例如:syslogd -r)。

嗯,是的,您的配置有问题。您每秒检查服务器 100 次,这对它们来说可能太多了。将“inter 10”替换为“inter 10s”。

威利

相关内容