On Fri, Feb 15, 2008 at 09:12:30AM +0100, florian iragne wrote:
> Willy Tarreau a écrit :
> >>The tarball you mention at the end of your answer seems to work well.
> >>But, there is still a problem with server ceck and i don't know if it is
> >>due to haproxy or something else on my network. If y configure a check
> >>interval less than 10s, it works.
> >
> >you mean "more than 10s" ?
>
> no, less than 10s. e.g., check inter 10000 fall 4 rise 1 works
> while check inter 20000 fall 4 rise 1 gives the strange behaviour i mention.
Oh, that's quite amazing then! I'll take a look at this because I don't understand how thay may happen.
> >I have never seen such a strange behaviour! The checks are so simple, I
> >would not even imagine what could cause this! Would you happen to have
> >ip_conntrack loaded on the machine hosting haproxy ?
> ip_conntrack is enabled (it must be since i use openvz virtualization).
OK. Keep in mind that it often shows a huge performance hit if you have many hits/s (count about 50% performance impact).
> >It would be possible
> >that when it runs, the conntrack table slowly fills, and that once full,
> >haproxy simply cannot establish new connections to the servers, resulting
> >in them being seen as down.
> Well, if it the case the check should work better when check interval is
> greater, shouldn't it?
yes, that's why I suggested that you formulated it the wrong way :-/
> >It is also possible that anything between haproxy and the servers is
> >causing
> >this. You may want to experiment with the check interval to see if the
> >problem appears in a delay proportionnal to the interval.
> There is one thing really strange : i've checked the network traffic
> with tcpdump and i can see the check requests of haproxy arriving on the
> backend, and i also can see the response send by the backend.
>
> I'll check if haproxy receive the response.
If you can send me a trace of this when there are problems, that would be great. You don't necessarily have to readjust your timers on production, you may very well declare an unused backend with the same servers and longer health-checks. You can even use another source address to distinguish between this one and others.
Regards,
Willy
Received on 2008/02/15 09:17
This archive was generated by hypermail 2.2.0 : 2008/02/15 09:30 CET