RE: Problems serving HTTP content (lingering connections?)

From: Stefan Johansson <phunqe#hotmail.com>
Date: Mon, 8 Mar 2010 09:44:11 +0100

To clarify, that is a session rate of 200 per back-end, with about 1600 in total over all 8.  

Thanks.  

From: phunqe#hotmail.com
To: haproxy#formilux.org
Subject: Problems serving HTTP content (lingering connections?) Date: Mon, 8 Mar 2010 09:27:37 +0100

Hi,  

we are currently using Tomcat 6.0.24 (8 servers) behind a haproxy. We are serving both a webapp and static content through this and are seeing issues when more and more static content needing to be served. Therefore we are trying to front Tomcat with Apache. Here is where I run into trouble (I have also tried lighttpd with the exact same result). If I serve the static content with Apache I get the same result each and every time, the server is running out of threads/connections. Lighttpd shows the same behaviour. I even tried to turn off Tomcat alltogether to serve ONLY static content through Apache/lightttpd in case there was some issues with the tomcat jk_mod connector or lighttpd's proxy function. No matted what I try, Apache and lightttpd rund our of threads to serve incoming connections. Even a ridiculous number of 2000 for ThreadsPerChild in apache or for server.max-fds in lighttpd does not help. I have also made sure that keepalive is turned off in both configurations. It really seems I am missing something fundamental here. Tomcat seems to have no issue (although the latency we are experiencing lately might be the cause of it, however Tomcat seems to cope with it more gracefully for now). Our session rate (according to haproxy stats) is approx 200 on average.  

The OS is Windows XP x64 including all the latest updates, the timeout for TIME_WAIT connections has ben lowered to 30 seconds. My haproxy config defaults and for one server:  

global

        maxconn 32000

# debug
# quiet
user haproxy group haproxy defaults log global mode http option httplog option dontlognull retries 3 redispatch maxconn 32000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen public_http x.x.x.x:80 mode http balance roundrobin cookie JSESSIONID prefix option httpclose option forwardfor option httpchk HEAD / HTTP/1.0 server adt-fusion-web01 192.168.1.20:80 check inter 5000 rise 2 fall 2 weight 100 ...

As I said, it really feels like I am missing something, but no matter what options I try for Apache and lighttpd they always run out of threads to serve connections. It seems that when serving through Apache or lighttpd connections are not closed (or the like).  

Any ideas?  

Thanks in advance.  

Cheers.

Hotmail: Powerful Free email with security by Microsoft. Get it now.



Hotmail: Powerful Free email with security by Microsoft. https://signup.live.com/signup.aspx?id=60969 Received on 2010/03/08 09:44

This archive was generated by hypermail 2.2.0 : 2010/03/08 10:00 CET