Hi,

On Wed, Jun 02, 2010 at 01:19:59AM -0400, Geoffrey Mina wrote:
> Greetings,
> We recently deployed HAProxy in a virtualized environment.  I am having some
> problems with occasional socket accept errors.

Where do you observe those errors ? I'm seeing you have "nbproc 4" which you
shouldn't be using. It is possible that you're just observing some of the
processes waking up, performing an accept() which returns -1 EAGAIN and that
you take that for an error.

> We are seeing the problems
> primarily on the pure TCP load balancing portion of our configuration.  The
> load balancer is running in the Rackspace Cloud under Xen. Basically what I
> am seeing is that sockets never get nailed up, even though I am 110% sure
> all the back-end servers are operating fine.  We have secondary monitoring
> processes which are constantly setting up and tearing down sockets directly
> (bypassing HAProxy) to ensure that the servers are up and running.  I have
> provided our config and some other information below.  If anyone can point
> me in the right direction for figuring out this issue, i would greatly
> appreciate it.

I suppose you have already performed the usual tuning bits (tune or disable
iptables, etc...).

One thing that can happen in virtualized environments is that the haproxy VM
starves without getting access to the CPU for long periods of time if your
hosting provider sells more power than the physical machines can provide.
It is also possible that network packets get queued up for a very long time
between VMs because they physical network (or even the physical machines) are
overloaded. I have already observed pings up to 7 seconds on an EC2 platform
that finally migrated to Rackspace to solve such issues, but since it was
more than a year ago, it does not mean they might not experience similar
trouble now :-)

The most important thing to do in such environments is to sniff traffic in
real time. Since you have zero control over the resource allocation and the
timing, the best you can do is observe if locally initiated I/Os reach their
target in time or not.

Regards,
Willy


Reply via email to