From owner-freebsd-threads@FreeBSD.ORG Thu Jan 8 01:10:03 2009 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41BFD106566C for ; Thu, 8 Jan 2009 01:10:03 +0000 (UTC) (envelope-from craig@animalhead.com) Received: from animalhead.com (animalhead.com [198.66.255.31]) by mx1.freebsd.org (Postfix) with ESMTP id 292308FC1B for ; Thu, 8 Jan 2009 01:10:02 +0000 (UTC) (envelope-from craig@animalhead.com) Received: from [192.168.0.4] (pool-71-116-115-15.snfcca.dsl-w.verizon.net [71.116.115.15]) (authenticated bits=0) by animalhead.com (8.13.6.20060614/8.13.6) with ESMTP id n080hMAB039432 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for ; Wed, 7 Jan 2009 16:43:23 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v753.1) Content-Transfer-Encoding: 7bit Message-Id: <9F36BDB2-36D4-4941-BD05-36D2CC5C77AB@animalhead.com> Content-Type: text/plain; charset=US-ASCII; format=flowed To: freebsd-threads@freebsd.org From: craig@animalhead.com Date: Wed, 7 Jan 2009 16:43:16 -0800 X-Mailer: Apple Mail (2.753.1) Subject: ThreadsPerChild in Apache2 vs THR in top using Event MPM X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jan 2009 01:10:03 -0000 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 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