Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 2686 invoked by uid 6000); 21 Jun 1999 11:40:19 -0000 Received: (qmail 2680 invoked from network); 21 Jun 1999 11:40:18 -0000 Received: from fwns2d.raleigh.ibm.com (HELO fwns2.raleigh.ibm.com) (204.146.167.236) by taz.hyperreal.org with SMTP; 21 Jun 1999 11:40:18 -0000 Received: from rtpmail01.raleigh.ibm.com (rtpmail01.raleigh.ibm.com [9.37.172.24]) by fwns2.raleigh.ibm.com (8.9.0/8.9.0/RTP-FW-1.2) with ESMTP id HAA25480 for ; Mon, 21 Jun 1999 07:40:12 -0400 Received: from chosondo.raleigh.ibm.com (chosondo.raleigh.ibm.com [9.37.73.195]) by rtpmail01.raleigh.ibm.com (8.8.5/8.8.5/RTP-ral-1.1) with ESMTP id HAA34330 for ; Mon, 21 Jun 1999 07:40:12 -0400 Date: Mon, 21 Jun 1999 07:28:40 -0400 (EDT) From: Ryan Bloom To: new-httpd@apache.org Subject: Re: some questions about threaded apache In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org > I'm still experimenting with the threaded Apache, and I'm noticing some > odd behaviour. I was wondering if someone could clarify things for me. > > MinSpareServers 20 > MaxSpareServers 40 > StartServers 10 > MaxClients 23 > ThreadsPerChild 64 > > Now, I assumed that MinSpareServers would be the number of processes, each > with a variable number of threads. So 1 and 2 would seem to be > reasonable. However, when I use those values I get (according to > server-status) 0 idle servers, and I do see a noticeably slower connection > (although once connected I'm quick, presumably because I'm reusing my > connection). When I increased those values to 20/40, it never kills any > threads, so I always have a total of 1454 threads (I chose those numbers > because I've limited NR_TASKS to 1500 per user). This doesn't really pose > much of a problem to me, but I would assume that other people would like > the number of threads/processes to decrease when load dies down :-) In the current implementation, threads don't die on their own. The only time we spawn new threads, or kill old ones, is when a whole new process is created, or a whole procesw goes away. This may change in the future, but spawning and killing threads is something that most pthread libraries don't do well. The 0 idle servers may be due to how we are computing the number of idle servers. Currently, it is based on the total number of threads in the server. And it's REALLY good to know the threaded Apache is able to handle a real world load better than the process based one. :) Ryan _______________________________________________________________________ Ryan Bloom rbb@raleigh.ibm.com 4205 S Miami Blvd RTP, NC 27709 It's a beautiful sight to see good dancers doing simple steps. It's a painful sight to see beginners doing complicated patterns.