[lug] [OT] Apache 1.3 vs. 2.0 on Linux

Michael D. Hirsch mhirsch at nubridges.com
Fri Apr 30 14:58:02 MDT 2004


On Friday 30 April 2004 03:03 pm, rm at fabula.de wrote:
> On Fri, Apr 30, 2004 at 02:47:31PM -0400, Michael D. Hirsch wrote:
> > On Thursday 29 April 2004 06:46 pm, Dhruva B. Reddy wrote:
> > > I did some research a while ago which suggests that the main benefit of
> > > Apache 2.0 is its multithreadedness.  I am under the impression that
> > > the overhead of forking processes in Linux is relatively low, and
> > > therefore 2.0 doesn't buy you much (especially considering the maturity
> > > and module support of 1.3).
> >
> > It's not the overhead of forking that is important, it is that apache 1.3
> > forks a bunch of processes and that's all you get.  If you run out, it
> > doesn't start any more.  On theother hand, if you decide to fork a whole
> > bunch then you are using up a lot of resources that you don't need to use
> > up most of the time.
>
> ??? Are you saying that apache doesn't increase the number of processes
> when i runs out of available ones? That's certainly not true. You can
> set the number of minimum processes as well as the number of maximum
> processes (very important!) and the max number of _idle_ processes.
> Our webserver has a minimum count as low as 15 but does fork up to
> 1000 servers during peak hours (one needs to tweak/patch the kernel
> to be able to use such high process counts ...).

Really.  I've been wrong, before, too.  :-)  I guess I misunderstood some of 
the advantages of 2.0, then.  Threads are still a bit lighter weight than 
processes (especially in kernel 2.6.x), but that is a lesser advantage.

Do you know how apache distributes its processes, then?  Since each forked 
process is actually a sparate process, how do they communicate that they are 
all busy?  Is it using IPC, or something else?

Michael



More information about the LUG mailing list