Hello, On Mon, Aug 30, 2010 at 03:39:14PM -0700, Ben wrote: > i'm not sure if that works in my situation -- i am balancing database > servers on an internal network and connection failures are > inconvenient. is the suggestion to use the health check to take the > server out of circulation, at least temporarily? in this case it is > not load balancing as much as load limiting, correct?
Yes in part. There has been some work in the past to be able to retrieve a server's weight from health checks, from response times and from error rates. The usecases which started this work have been abandonned since, so this task got a lower priority. Also, since the initial thoughts, several very different usecases were identified, implying that we'd want to have a very flexible design instead of having a large set of specific features. One example of relatively generic solution would be to have a server return its load in response to health checks. Haproxy could then use that to try to balance the weights, and to raise or lower each server's maxconn. Note that in this case, we use an indicator of activity. Other situations will require an indicator reporting the available resources (or idle). Some people would like to use SNMP polling, and others just response time, within a certain range. That means that we need a way to define how we want to convert those metrics to weights+maxconn, and a way to retrieve them. Right now you can already change the weights during runtime on the unix socket, so if you have all the information centralized, you can already have a script that does this at periodic intervals. Regards, Willy

