I am trying to setup a load balancer for few webservers. I am using centos 5.6 with apache http server (Server version: Apache/2.2.3). I am having a client generator which generates around 200 threads and try to browse through the webpage via the load balancer. I used the apache mod_proxy_balancer for this purpose. This is my setup :
<IfModule mod_proxy_balancer.c> <Proxy balancer://xx.xx.xx.xx> BalancerMember yy.yy.yy.yy loadfactor=1 BalancerMember zz.zz.zz.zz loadfactor=1 </Proxy> <Location /> ProxyPass balancer://xx.xx.xx.xx/ </Location> </IfModule>
After the start, in few minutes I start seeing 503 errors on the client side, The apache error logs read :
[Mon Aug 22 10:19:09 2011] [error] (110)Connection timed out: proxy: HTTP: attempt to connect to yy.yy.yy.yy:80 failed [Mon Aug 22 10:19:09 2011] [error] ap_proxy_connect_backend disabling worker for (yy.yy.yy.yy) [Mon Aug 22 10:19:10 2011] [error] proxy: BALANCER: (balancer://xx.xx.xx.xx). All workers are in error state
I changed the timeout period in the httpd.conf to 1200 and im still experiencing the same issue. I can understand that there is a timeout and it marks the ip as in error state and retries to connect after a specific time (60 seconds as per the document). It connects and continues to function well for few more minutes and this process goes on in a loop. I want to know how to fix this issue and understand what causes the timeout. If I connect the client directly to one of the backend servers , it works fine . Thus , I guess the loadbalancer causes the bottleneck. Any information to help me understand or solve this issue is greatly appreciated. Thank you !