负载均衡器问题

负载均衡器问题

我正在尝试在两个 Apache http web 服务器之间实现负载平衡。我使用 Apache 的 mod_proxy_balance 创建了一个负载平衡器。

当我运行我的客户端(每秒生成约 100 个线程并尝试浏览网站)时,几秒钟后我开始收到几个线程的 502 和 503 错误响应代码。其他几个线程运行正常。

我觉得负载均衡器可能超载了,但我不太确定。有人能告诉我如何解决这个问题吗?谢谢!

我的代理平衡器设置:

<IfModule mod_proxy_balancer.c>

    <Proxy balancer://hgcc13.org>
        BalancerMember http://hgccvm90.org/ loadfactor=1
        BalancerMember http://hgccvm92.org/ loadfactor=1
    </Proxy>

    <Location />
        ProxyPass      balancer://hgcc13.org/
    </Location>
</IfModule>

当我在代理中看到error_log时,首先我发现

“连接后端服务器超时”,然后我看到

“ ap_proxy_connect_backend 禁用 worker”,然后

“所有工作人员都处于错误状态”,

上述 3 条消息在短时间内重复出现。然后我发现只有

“do_ypcall:clnt_call:RPC:无法发送;errno = 操作不允许”。

我只做了 5 分钟的实验

答案1

我怀疑问题出在后端服务器,而不是代理本身。

502 错误表明平衡器成员缺乏响应。

503 错误表明某个 Apache 服务已达到其MaxClients设置 - 这可以是代理,但如果是,那么我怀疑这只是因为它正在等待其他请求从无响应的后端返回。

server reached MaxClients通过检查每个系统的 Apache 错误日志中的“ ”来验证哪个系统达到了其限制。

您可能需要调整平衡器成员的超时(ProxyTimeout指令或线路timeout=x上的设置BalancerMember)和/或MaxClients服务器(和相关的 MPM 设置)。

相关内容