问题与负载平衡器

我正试图在两个Apache HTTP Web服务器之间进行负载平衡。 我使用Apache的mod_proxy_balance创build了一个负载平衡器。

当我运行我的客户端(每秒产生大约100个线程并尝试浏览网站)时,几秒钟后,我开始为less数线程获取502和503错误响应代码。 有几个其他线程正常工作。

我觉得loadbalancer可能超负荷,但我不完全确定。 有人可以让我知道如何着手解决这个问题? 谢谢!

我的代理平衡器设置:

<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时,首先find

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

“ap_proxy_connect_backend禁用worker”,然后

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

以上3条消息重复了一小段时间。 然后我只find

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

我只跑了5分钟的实验

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

502错误表示平衡器成员没有回应。

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

通过在每个系统的Ap​​ache错误日志中检查“ server reached MaxClients ”来validation哪个系统达到其限制。

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