You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Joshua Slive <jo...@slive.ca> on 2001/09/21 22:04:11 UTC
MPM config directives
Aaron was brave enough to raise this topic again, and I'd rather not see it
fall flat, so I'm going to try to force the issue.
Here are two proposals. They work for both prefork and worker. I have not
thought deeply about perchild, so I don't know how it will fit in.
A: All config directives deal with "workers". Behind the scenes,
StartWorkers and MaxWorkers are translated into processes using Aaron's
logic.
StartWorkers 50
MaxWorkers 150
MinSpareWorkers 10
MaxSpareWorkers 50
WorkersPerProcess 25
MaxRequestsPerProcess 0
B: Slightly less elegant because different units are used for different
directives, but no behind the scenes translation is necessary, so it is more
predictable.
StartProcesses 2
MaxProcesses 6
MinSpareWorkers 10
MaxSpareWorkers 50
WorkersPerProcess 25
MaxRequestsPerProcess 0
I can live with either of these, but I don't think it makes sense to have
"StartProcess" and "MaxWorkers". If we are going to translate one in the
background, we should translate both.
I slightly favour B because it is simpler and involves no code changes
except changing directive names.
If I don't see a concensus in the another direction or a veto in the next
couple days, I will implement B.
Joshua.
Re: MPM config directives
Posted by Ryan Bloom <rb...@covalent.net>.
> I would much rather see us implement A. It makes things more obvious to
> the user. We aren't asking them to do any multiplication to look at how
> many requests they can handle at once. This will also cut down on the
> number of bugs filed. I am mostly thinking of Unix, where threads are
s/Unix/Linux
Ryan
> reported through ps. If people specify 6 processes to start, but ps
> reports 120 have been started, they think it is a bug. In reality, Linux
> is just reporting all the threads as if they were processes.
>
> Also, sticking with A makes us translate better from 1.3 to 2.0. I know
> this isn't a concern for most people, but it would be nice for our users.
>
> Ryan
> ______________________________________________________________
> Ryan Bloom rbb@apache.org
> Covalent Technologies rbb@covalent.net
> --------------------------------------------------------------
--
______________________________________________________________
Ryan Bloom rbb@apache.org
Covalent Technologies rbb@covalent.net
--------------------------------------------------------------
Re: MPM config directives
Posted by Ryan Bloom <rb...@covalent.net>.
On Friday 21 September 2001 01:04 pm, Joshua Slive wrote:
> Aaron was brave enough to raise this topic again, and I'd rather not see it
> fall flat, so I'm going to try to force the issue.
>
> Here are two proposals. They work for both prefork and worker. I have not
> thought deeply about perchild, so I don't know how it will fit in.
>
> A: All config directives deal with "workers". Behind the scenes,
> StartWorkers and MaxWorkers are translated into processes using Aaron's
> logic.
>
> StartWorkers 50
> MaxWorkers 150
> MinSpareWorkers 10
> MaxSpareWorkers 50
> WorkersPerProcess 25
> MaxRequestsPerProcess 0
>
> B: Slightly less elegant because different units are used for different
> directives, but no behind the scenes translation is necessary, so it is
> more predictable.
>
> StartProcesses 2
> MaxProcesses 6
> MinSpareWorkers 10
> MaxSpareWorkers 50
> WorkersPerProcess 25
> MaxRequestsPerProcess 0
>
> I can live with either of these, but I don't think it makes sense to have
> "StartProcess" and "MaxWorkers". If we are going to translate one in the
> background, we should translate both.
>
> I slightly favour B because it is simpler and involves no code changes
> except changing directive names.
I would much rather see us implement A. It makes things more obvious to the
user. We aren't asking them to do any multiplication to look at how many
requests they can handle at once. This will also cut down on the number of
bugs filed. I am mostly thinking of Unix, where threads are reported through
ps. If people specify 6 processes to start, but ps reports 120 have been started,
they think it is a bug. In reality, Linux is just reporting all the threads as if
they were processes.
Also, sticking with A makes us translate better from 1.3 to 2.0. I know this isn't
a concern for most people, but it would be nice for our users.
Ryan
______________________________________________________________
Ryan Bloom rbb@apache.org
Covalent Technologies rbb@covalent.net
--------------------------------------------------------------
Re: MPM config directives
Posted by Cliff Woolley <cl...@yahoo.com>.
> On Fri, Sep 21, 2001 at 04:04:11PM -0400, Joshua Slive wrote:
> >
> > A: All config directives deal with "workers". Behind the scenes,
> > StartWorkers and MaxWorkers are translated into processes using Aaron's
> > logic.
> >
> > StartWorkers 50
> > MaxWorkers 150
> > MinSpareWorkers 10
> > MaxSpareWorkers 50
> > WorkersPerProcess 25
> > MaxRequestsPerProcess 0
>
+1
--Cliff
--------------------------------------------------------------
Cliff Woolley
cliffwoolley@yahoo.com
Charlottesville, VA
Re: MPM config directives
Posted by Justin Erenkrantz <je...@ebuilt.com>.
On Fri, Sep 21, 2001 at 04:04:11PM -0400, Joshua Slive wrote:
>
> Aaron was brave enough to raise this topic again, and I'd rather not see it
> fall flat, so I'm going to try to force the issue.
>
> Here are two proposals. They work for both prefork and worker. I have not
> thought deeply about perchild, so I don't know how it will fit in.
>
> A: All config directives deal with "workers". Behind the scenes,
> StartWorkers and MaxWorkers are translated into processes using Aaron's
> logic.
>
> StartWorkers 50
> MaxWorkers 150
> MinSpareWorkers 10
> MaxSpareWorkers 50
> WorkersPerProcess 25
> MaxRequestsPerProcess 0
+1. -- justin
Re: MPM config directives
Posted by "Roy T. Fielding" <fi...@ebuilt.com>.
On Fri, Sep 21, 2001 at 04:04:11PM -0400, Joshua Slive wrote:
> A: All config directives deal with "workers". Behind the scenes,
> StartWorkers and MaxWorkers are translated into processes using Aaron's
> logic.
>
> StartWorkers 50
> MaxWorkers 150
> MinSpareWorkers 10
> MaxSpareWorkers 50
> WorkersPerProcess 25
> MaxRequestsPerProcess 0
+1 - I assume that MaxRequestsPerProcess will now increment per request
and not per connection, removing the problem with keepalive DoS.
....Roy
Re: MPM config directives
Posted by Aaron Bannert <aa...@clove.org>.
On Fri, Sep 21, 2001 at 04:04:11PM -0400, Joshua Slive wrote:
> A: All config directives deal with "workers". Behind the scenes,
> StartWorkers and MaxWorkers are translated into processes using Aaron's
> logic.
>
> StartWorkers 50
> MaxWorkers 150
> MinSpareWorkers 10
> MaxSpareWorkers 50
> WorkersPerProcess 25
> MaxRequestsPerProcess 0
I'm going to have to stick with the one closest to what I just implemeted,
so here's my obligatory (non-binding) +1
-aaron