Received: by taz.hyperreal.com (8.6.12/8.6.5) id SAA14052; Mon, 18 Mar 1996 18:37:36 -0800 Received: from life.ai.mit.edu by taz.hyperreal.com (8.6.12/8.6.5) with SMTP id SAA14047; Mon, 18 Mar 1996 18:37:33 -0800 Received: from volterra.ai.mit.edu by life.ai.mit.edu (4.1/AI-4.10) for new-httpd@hyperreal.com id AA27248; Mon, 18 Mar 96 21:37:29 EST From: rst@ai.mit.edu (Robert S. Thau) Received: by volterra.ai.mit.edu (8.6.12/AI-4.10) id VAA24313; Mon, 18 Mar 1996 21:37:28 -0500 Date: Mon, 18 Mar 1996 21:37:28 -0500 Message-Id: <199603190237.VAA24313@volterra.ai.mit.edu> To: new-httpd@hyperreal.com Subject: Re: PR & 1.1b1 Sender: owner-new-httpd@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com Also, I'm hesitant to make a big fuss about a new version of Apache until we have it multithreading... Hmmm... actually, most of the "multithreaded" servers I'm aware of are actually still maintaining server pools, with multiple threads in each pool member. The reason for this "pool-of-threaded-processes" approach is to cope with OS'es without good kernel threads support --- in particular, it insures that on multiprocessor machines, *something* will be running on each processor (not that web servers tend to be CPU-bound anyway); also, if one of the threaded processes blocks on I/O, others can keep going. (Yes, you can try to use non-blocking I/O, and avoid at least some of these difficulties, but non-blocking forms of, e.g., open() and stat() are somewhat hard to come across, and with some file systems, those operations can take a while). Still, even pool-of-threaded-processes can dramatically reduce the server's RAM consumption, and is probably worth doing. The folks with the NT port have already got the ground work in their code branch. (There are "truly" threaded servers out there --- phttpd, for one --- but they tend to be restricted to systems like Solaris which have decent kernel threads support, and for good reason). rst