I was researching network load balancer features recently and I couldn't find a certain feature.

I believe I heard some years ago about a network load balancer feature (don't remember any feature name) in which the network balancer 'knows' how loaded (CPU, I/O, RAM etc.) a backend server is and dispatches the next request to the least loaded server.

Is there such a feature? Are there reasons for not having this feature?

  • You probably want to ask this question on Server Fault. Unfortunately, servers are off-topic here.
    – Ron Maupin
    Mar 14 '17 at 14:56

Some manufacturers have this feature. It is an agent that runs on the host and reports the load back to the load balancer.

Some reasons for not using it:

  1. CPU usage fluctuates quite a bit, and isn't always a reliable indicator of "load"
  2. Some people don't want extra agents running on their servers.
  3. For a dedicated web server, the load is proportional to the number of connections -- which the balancer already knows, so the agent doesn't give you much more information.
  4. There may be an extra cost to use this feature.

I know at least F5 LTM has a feature where it monitors performance of each pool member and adjust its loadbalancing method based on this:

Predictive (member): [...] the system analyzes the trend of the ranking over time, determining whether a node's performance is improving or declining. The nodes in the pool with better performance rankings that are currently improving, rather than declining, receive a higher proportion of the connections.

So pool members which responds faster get more requests. That may make them slower to others, so those will then get more requests. This can work quite nicely.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.