I don't know of a way to only define the server list once, but in subsequent backends you can use 'track backend_name/sv_name' instead of 'check' to reduce the health check spam.
One gotcha I ran into is that if I have 'option httpchk HEAD /my/health/url' in the backend with 'check's I also needed to specify 'option httpchk HEAD /some/url' in the other backends with traces. The latter URL doesn't appear to matter; I use '/unused' in my config as a hint to my future self that it's the URLs in the backend with checks that matters, not the backends with traces. Unsure if this is a bug or if I'm doing something wrong (quite possibly the latter). Bryan ________________________________________ From: Shawn Heisey [[email protected]] Sent: Friday, October 05, 2012 17:10 To: [email protected] Subject: reducing check requests with same servers in many backends I have a setup doing a lot of URL rewriting. I set up an ACL to match each string that I want to rewrite. When each one matches, it sends the request to a backend specific to that rewrite. All of the backends (over a dozen of them) have the same set of servers, each defined with 'check' in them. This results in a lot of traffic just for checking -- pretty much continuous. It does not appear to be overwhelming the servers, but it does make for an incredible amount of noise in packet captures taken at the server. I was able to reduce it a little bit by changing the check interval to 20 seconds, but it's still pretty excessive, because it has to check the same servers over a dozen times during that 20 second interval. I do have spread-checks enabled with a value of 5. That value is arbitrary, the documentation said values from 2 to 5 tend to be good. Is there any way to streamline the config so that I only need to define the server list once, and have it only check the servers once for every check interval? I'm running 1.4.18 for this, but I could run a 1.5-dev version if required. Thanks, Shawn

