Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jan 2009 16:43:16 -0800
From:      craig@animalhead.com
To:        freebsd-threads@freebsd.org
Subject:   ThreadsPerChild in Apache2 vs THR in top using Event MPM
Message-ID:  <9F36BDB2-36D4-4941-BD05-36D2CC5C77AB@animalhead.com>

next in thread | raw e-mail | index | archive | help
This is more of an Apache question than a FreeBSD question, but I've
received no response from enquiries to the users@httpd list.  Perhaps
someone receiving from this list will be able to help?

Our server is running Apache 2.2.11 with the Event MPM under FreeBSD
6.3, on a site that's largely mod_perl2 driven.

ThreadsPerChild is specified as 25 in an include file of httpd.conf.

The documentation of the Worker MPM (which is said to have the same
configuration characteristics as Event) states that each child process
creates <ThreadsPerChild> threads when it starts, and never changes the
number of threads.

But the THR column of the 'top' utility shows 11 threads per process.
Is 'top' just wrong, or is something constraining how many threads are
being created?  Might my Internet Hosting Provider have built FreeBSD
with some such constraint?  How can I get more data?

The only way I know to ask Apache about its threads configuration
is the Apache2::MPM->query facility.  Using this facility for all of
the values noted in the Apache2::Const documentation yields:

MPMQ_MAX_DAEMON_USED(1) = -1
MPMQ_IS_THREADED(2) = 1
MPMQ_IS_FORKED(3) = 2
MPMQ_HARD_LIMIT_DAEMONS(4) = 16
MPMQ_HARD_LIMIT_THREADS(5) = 64
MPMQ_MAX_THREADS(6) = 25
MPMQ_MIN_SPARE_DAEMONS(7) = 0
MPMQ_MIN_SPARE_THREADS(8) = 25
MPMQ_MAX_SPARE_DAEMONS(9) = 0
MPMQ_MAX_SPARE_THREADS(10) = 150
MPMQ_MAX_REQUESTS_DAEMON(11) = 0
MPMQ_MAX_DAEMONS(12) = 10

MPMQ_MAX_THREADS has the same value as ThreadsPerChild, but
its name suggests that this number is a maximum.  Does this imply
that this number may not be created as a child process starts?

Help will be much appreciated,
cmac
www.animalhead.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9F36BDB2-36D4-4941-BD05-36D2CC5C77AB>