Haproxy负载均衡TPS比单节点低

Haproxy负载均衡TPS比单节点低

我在后端运行了 2 个 apache2 服务器,并在它们和客户端之间有一个 haproxy。如果我使用 ab 对这些 apache2 服务器中的任何一个进行基准测试,我得到的结果是 1500TPS 以上,但是当我对 HAproxy 进行基准测试时,我得到的结果是低于这个值。这没有意义。

我正在使用简单的循环算法进行平衡,并且将 maxconn 设置为 8000 以获得良好的效果。

我预期的 tps 接近每个 apache2 节点的总 tps(2800TPS)。但我得到的值却小于两个 apache2 节点中的任何一个。可能是什么原因造成的?

我做的台架测试

ab -t 60 -c 400 haproxyIP:1234

这里的 HAproxy 配置非常标准,但应该可以满足我的要求。

 global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    maxconn 8000
    user haproxy
    group haproxy
    daemon

 defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    retries 3
    maxconn 8000
    contimeout 5000
    clitimeout 50000
    srvtimeout 50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

listen public :1234
   stats enable
   stats auth username:userpassword
   balance leastconn
   server web-1 127.0.0.1:xxxx check
   server web-2 xx.xx.xx.xx:xxxx check

相关内容