httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Hartill <>
Subject Re: Redirect in .htaccess files?
Date Wed, 26 Jul 1995 15:39:06 GMT
>    From: Rob Hartill <>
>    Date: Wed, 26 Jul 95 14:54:17 MDT
>    > As far as I can tell, my proposed changes, which were to create a
>    > separate StartServers parameter, rename the current StartServers
>    > to MinFree, and provide MaxFreeServers as an alternate and
>    > preferred name for MaxServers, eliminate the confusion which you
>    > keep griping about.
>    I've been suggesting a subset of this.
>     - create a separate StartServers parameter
> 	 I don't think it's needed, but if it is, it could just
> 	 refer the user to info on setting the replacement variables.
> 	 If you want to do something more sophistacted with it, fine, but
> 	 that'd break the freeze.
> *Any* change is breaking the freeze.  You asked for it.  In any case,

The freeze is on new features. StartServers can be unsupported as far
as I'm converned.

I'm not imposing the freeze on anyone, just pointing out that if such
a change was made, it'd break the freeze on new features... in this case
it might be worth it.

> As to the names of the other two --- recall that the way the mechanism
> works is to try to keep the number of free servers between what I'm
> calling MinFreeServers and MaxFreeServers.  I feel any change which is
> supposed to "clarify" matters should make it clear that there is a
> *range*, meaning that neither parameter is, by itself, a target value,
> and should also make it clear which bound (lower or upper) is which.
> Your suggestions ("ServersKeptReady" and "ServerPoolSize") fail on
> both counts --- both look like targets, rather than lower and upper
> bounds of a range, and even if you know that they're lower and upper
> bounds, I for one have no idea which is which looking just at the
> names. 

Once I read these (my comments above) meanings into the variables, I was 
able to set them to realistic values and reap the benefits. StartServers just 
happens to define a lower limit, but it's real 
and powerful purpose (if the CHANGES file is to be believed)
is to define how many processes the parent tries to keep in a ready to
go state, i.e. how many future requests can be processed immediately.
With a 100k site, with peeks of say 2 requests per second of some given 
time, a low value is needed (<5).
Thinking of it as some lower range value gives the wrong impression, e.g.
if I set them to   4 and 6, this doesn't mean that I think I need somewhere
between 4 and 6 servers, it means that typically 6 servers should 
always exist and of those 6, 4 of them need to be 
in the "ready to go state" - that leaves
two which are doing any real work. In order to process a third simultaneous
request the parent needs to fork another process so as to keep 4 "ready".

If you think of it in terms of the way I described, it's actually a
workable and nice system. If you think of it as a range, you stand a
good chance of misconfiguring it and forcing lots of unecessary forking().

It can be argued that almost everyone on this list though that 
StartServers and MaxServers did define a range (that's what I though).
My understanding now is that they don't. They define a "keep ready" value
which guarantees fast connections, and a pool size which people think
they need to optimize space/forking tradeoffs.

If I've misunderstood the concept again, god help people webmasters


View raw message