We had only server and client timeout (set to extensive 20 min). When we set http-request timeout (5 min) and shorted server and client timeout (3 min), it caused massive connect and read timeouts on client side. I am not able to explain why that happened. Can anyone give me please a hint please?
Enable logging (and httplog) and show the requests that timeout. The log will contain all the informations required to answer this question.
We have logging in place, but I am not able to match the failing requests in the log. We see a lot of cD messages, but I think it’s expected after shorter timeouts.
Well, if it is cD after all, that simply means there is a timeout on the client side:
cD The client did not send nor acknowledge any data for as long as the "timeout client" delay. This is often caused by network failures on the client side, or the client simply leaving the net uncleanly.
But that does not explain why change of haproxy timeout causes clients connect timeouts…
I expect that more cD is caused by closing keep-alived connections from haproxy side. Is that possible?
Why would lowering timeouts not explain timeouts firing more often, especially on the client side?
No. This is an error. Closing a keep-alived connection due to the keep-alive time-out is not an errror.