httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dirk-Willem van Gulik <>
Subject Re: help needed
Date Wed, 30 Sep 1998 08:08:30 GMT

On Mon, 28 Sep 1998, nitin wrote:

>  i am final year Computer Science (grad.) student. I am working on 
>  scheduling distributed web servers' using apache as the web server. i
>  need to add some code to the server so that i have some sort of
>  communication between the dns and the web server eg. web server can
>  notify the dns that it is overloaded or busy . 

Well I guess  it boils down to one thing; getting an idea of the load
of the servers 'live'. You could do this with a simple uptime, 'ps' or
'top' like construct. See also the RPC example on sun's for a nice
RPC based way of getting those values. Alhtough an overall metric would
propably good enough, you could also interact with the web service side
more directly..

Well, one thing you could look at is the status module, see mod_status
and documentation. Which will give you information (by doing a simple
regular GET) about what is going on on a per-child basis.

A more scalable way might be using an SNMP request, contact for more details, or fetch the module
from SNMP can give you a very accurate and
acute picture, for little (network) cost. Keeping the instrumentation
running of course consumes a fair bit of resources.

With these live metrics one can then modify DNS, though there are
lots of examples on the web this is one I like:

When doing this, and still not having gotten it right, we found that a
gateway/fanout system works better (the fashionable word for such a
gateway seems to be 'remote proxy'. Juk), than DNS for quickly fluctuating
load, but that the first is harder to manage than the latter; as (most of)
our load metric's have a slight delay. The phase shift, in an H/G diagram
sort of thing, causes an instability which is hard to control. We are
currently experimenting with a PID (as in proportional/Integrating
Differential) controller for the feedback loop. This should in theory make
things more stable, even if your beta-tau is high. But it is not getting
anywhere near production yet.


View raw message