关于负载均衡器的基本理解

关于负载均衡器的基本理解

我正在运行一个连接到后端数据库的 http web 服务器。现在,如果客户端生成 100 个线程并尝试通过负载均衡器联系该 web 服务器,则会出现大约 32ms 的延迟。但是,在相同的设置下,如果我有 2 个 web 服务器(但连接到同一个数据库),而不是一个 web 服务器。负载均衡器使用循环算法在这两个 web 服务器之间平衡负载。现在我运行相同的客户端,它生成相同的 100 个线程,但在这种情况下延迟接近 55ms。我以为更多的 web 服务器意味着更好的性能,但事实恰恰相反。有人能帮我理解这种情况吗?谢谢!

编辑:有关负载均衡器的信息 - 我正在使用 haproxy 负载均衡器。

这是配置文件:

global
      maxconn 4096
      pidfile /var/run/haproxy.pid
      daemon

defaults
      mode http
      retries 3
      option redispatch
      maxconn 2000
      contimeout 5000
      clitimeout 50000
      srvtimeout 50000

listen GALAXY 10.76.2.15:80
      mode http
      cookie GALAXY insert
      balance roundrobin
      option httpclose
      option forwardfor
      option nolinger
      stats enable
      stats auth myuser:mypass
      server EARTH 10.76.2.107:80 cookie GALAXY_SERVER_01 check

即使在正常情况下,我也可以通过负载平衡器访问单个 Web 服务器。我不知道为什么添加另一个 Web 服务器会造成额外的延迟。-Sethu

答案1

负载均衡器会增加吞吐量的一些延迟,但这不会改变。

当您开始达到足以淹没单个服务器的并发量时,“更好的性能”就会发挥作用。使用负载平衡器,您可以将负载分散到整个服务器群。这就是负载平衡器提供的“更好的性能”发挥作用的地方。

相关内容