Many thanks for the feedback.

Emmanuel

De : Alex Forrow [mailto:[email protected]]
Envoyé : lundi 1 février 2010 17:26
À : Emmanuel Bailleul
Cc : [email protected]
Objet : Re: Apache CLOSING state

Just to provide an update to this issue, the problem was caused by 
mis-configured conntrack. Temporary removal of this module solved the issue.

On 22 January 2010 14:46, Alex Forrow 
<[email protected]<mailto:[email protected]>> wrote:
Hi Emmanuel,

Thanks for pointing me to that documentation, does help explain why it is 
implemented.

I do suspect it is down to Apache, but because the issue is related to 
connection closing, and HAProxy is always at the other end of that connection, 
I figured users on this list may have experienced similar issues.

I am using Apache from the CentOS 5 repository (Apache 2.2.3), mpm prefork 
(StartServers: 200, MinSpareServers: 50, MaxSpareServers: 400, ServerLimit: 
1024, MaxClients: 1024)


Alex

2010/1/20 Emmanuel Bailleul 
<[email protected]<mailto:[email protected]>>

Hi Alex,

The 'lingering close' Apache uses is briefly described here :
http://httpd.apache.org/docs/2.1/misc/perf-tuning.html#compiletime

Your issue seems to be rather with Apache, but could you tell us which version 
you are using and how it is configured (mpm) ?

Emmanuel

De : Alex Forrow [mailto:[email protected]<mailto:[email protected]>]
Envoyé : mardi 19 janvier 2010 23:12
À : [email protected]<mailto:[email protected]>
Objet : Apache CLOSING state

Hi all,

I've been using HAProxy for about a year on a high traffic website and can say 
nothing but good things about it. Recently however I've run into an issue that 
I'm hoping someone may be able to help with.

After a recent increase in traffic, we have been unexpectedly maxing out the 
1000 connection limit (on HAProxy) to our Apache instances at our busiest point 
of the day. Looking at the Apache mod_status page at this time, it seems that 
many of the slots are in the 'CLOSING' state. We do normally have some slots in 
this state, but it seems to increase suddenly at about the same time each day, 
and decrease in the the same fashion a few hours later. I believe it is only 
the connection limit on HAProxy that prevents the situation becoming any worse 
(requests are queued/dropped). An example graph of of slot usage is available 
at http://sysadmin.favsys.net/pub/slots.png

The Apache 'CLOSING' state seems poorly documented, but after a quick look at 
the source, it seems to be a some internal linger code to avoid closing 
connections before the last data packet has been received by the browser 
(http://svn.apache.org/viewvc/httpd/httpd/trunk/server/connection.c?view=markup).

We have HAProxy running on two identical machines on the same subnet, and 
sometimes I am able to alleviate the problem by switching the virtual IP when 
this problem occurs. However on our most recent traffic spike, this hasn't been 
helping for any reasonable amount of time. After an initial spike, HAProxy 
calms down for a minute or so, then returns to the previous maxed-out state.

Here are some details about the setup:
. HAProxy 1.3.22
. Roundrobin balancing to 4 Apache nodes
. Using 'option httpclose'
. Keep-Alive disabled on all Apache servers (though I have tried enabling it on 
a single server for investigation purposes)
I have recently tried adding another Apache instance to the pool, and this 
doesn't seem to help.

Any help or guidance would be greatly appreciated. Let me know if there is any 
other information I can provide.


Regards,

Alex


Reply via email to