如果请求数量巨大,负载均衡器是否会在向各个客户端发送响应时导致问题?

If the number of requests are huge, can load balancer cause the issue while sending responses to respective clients?

我确实有一个负载平衡器的体系结构,后跟两个 Web 应用程序服务器和数据库,我正在从 Jmeter 分布式测试环境向服务器发出数千个 HTTP 请求。

在得到响应时,很少有请求没有从服务器得到响应。

我检查了数据库日志,100% 的请求得到了响应。 检查 Web 应用程序服务器访问日志,100% 的请求得到响应。

负载均衡器能否通过这些对各个客户端的未决响应造成损害? 每次不同的不同请求都会卡住。

提前致谢!!

如果您怀疑负载均衡器,请先查看 3 个典型原因:

  1. 服务器响应时间比负载均衡器等待时间长
  2. 客户端的超时时间比服务器响应时间短。
  3. Port/thread/connection 负载平衡器耗尽,或其他 LB 配置问题

在这三种情况下,我建议查看负载平衡器日志。由于您没有指定您使用的是哪个 LB,因此我无法准确说明日志的外观,但通常 LB 日志会让您选择查看:

  1. 将请求发送到 Web 服务器以及从 Web 服务器响应 return 到负载平衡器所花费的时间。您可以将这些数字与为负载均衡器和客户端配置的超时(问题 1 和 2)进行比较。
  2. LB 处理客户端的请求需要多长时间,LB 响应客户端需要多长时间。如果需要很长时间,那么负载均衡器有问题(问题 3)
  3. 当然,如果您在负载均衡器上有任何错误,他们可能会解释发生了什么。

如果您无法查看负载均衡器的日志,我建议您暂时将 JMeter 测试更改为直接将负载均衡器后面的目标服务器作为目标。您甚至可以将脚本配置为在所有服务器之间平均分配负载(例如通过使用多个线程组)。这将使您能够隔离问题,并获得有关正在发生的事情的更多信息。