On Sun, Nov 19, 2017 at 07:45:59AM +0100, Willy Tarreau wrote: > On Thu, Nov 16, 2017 at 09:15:02PM +0500, ???? ??????? wrote: > > Try > > > > proxy_buffering off; > > proxy_request_buffering off; > > > > in nginx > > Good point, it's indeed possible that some slow clients are keeping > application connections opened and that the default buffering in nginx > hides it. > > It's also possible to do something similar within the limit of one buffer > in haproxy by adding : > > option http-buffer-request > > Haproxy will then wait for either a full request or a full request buffer. > Buffers default to 16 kB so that should be enough here.
I didn't notice that this one was already present in the original config. Also the fact that the application server closes after 60s is troubling, because even a slow client shouldn't take 60s to upload 8kB of data, and when option http-buffer-request is set, only full (or short enough) requests are sent to the server. So it means that such requests expiring after 60s were larger than a buffer and stopped in the middle, or were complete and the server really failed. If there is a large count of such errors, it's unlikely that it's caused by clients. Willy