Re: HTTP Keep-alive

From: Willy Tarreau <>
Date: Wed, 2 Dec 2009 23:23:57 +0100

On Wed, Dec 02, 2009 at 11:23:14AM +0000, Mark Brooks wrote:
> We were running into communication problems with the web page stalling as it
> loaded then waited until haproxy hit its timeout. We worked it out to be the
> HTTP keep-alive, which we have now disabled with option httpclose.

Most often this is caused by packet loss on the network between either the client and haproxy or haproxy and the server. The loss highly impacts the SYN packets (3s for a retransmit) but less the other ones because the traffic often causes them to be retransmitted early. So keepalive can sometimes hide such an issue. Sometimes it's also because of a misconfigured firewall which fills its session table (eg: netfilter on a machine with default settings).

> I have 2 questions -
> 1. should haproxy allow the http keep-alive connection to be established
> even if it has problems with it.

it depends if it needs anything from this connection. If you want to log, modify, etc... you don't want to let this pass. If you absolutely don't care and are not even performing any sort of content switching, then probably you can leave it enabled.

> 2. Ive looked through the change logs and not come across a mention of
> keep-alive, is this something that will be added to a future version

it's currently being developped. I hope to be able to offer very limited support by the end of the year (just on the client side, the other ones require more complex things than I had initially thought).

Willy Received on 2009/12/02 23:23

This archive was generated by hypermail 2.2.0 : 2009/12/02 23:30 CET