添加应用服务器不会提高 haproxy 的性能

添加应用服务器不会提高 haproxy 的性能

我在两台提供图像的应用服务器前运行 haproxy 负载均衡器。问题是,如果我使用一台或两台服务器,性能不会有差异(参见添加的图像)。我使用 Digital Ocean 作为 Vps 的提供商。VPS 运行 nginx,

使用两台服务器进行加载:

两台服务器

使用 1 台服务器进行加载:

一个服务器 Haproxy 配置如下所示:

global
log 127.0.0.1 local0 notice
maxconn 10000
user haproxy
group haproxy
chroot /var/lib/haproxy
daemon

defaults
    log global
    mode    http
    option  httplog
    option  dontlognull
        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

frontend www
    bind 12.34.56.789:80
    option http-server-close
    default_backend web-backend


backend web-backend
    balance roundrobin   
    server web-1 12.34.56.789:80 check
    server web-2 12.34.56.789:80 check

答案1

如果您的应用程序花费太多时间来发送响应,那么在负载均衡器后面添加更多服务器将无济于事。

这是反应时间定律

负载均衡器不会改善您的响应时间,因为他需要等待应用程序服务器的响应来为客户端提供服务,在此期间连接保持建立并等待状态。

您的最大响应时间约为 70 秒,并且有 +17000 个请求超时(这不太好)。这是应用程序问题。

还要确保您的数据库可以处理这些数量的连接。

More application servers = more database connections

相关内容