httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@ai.mit.edu (Robert S. Thau)
Subject Re: PR & 1.1b1
Date Tue, 19 Mar 1996 02:37:28 GMT
  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

Mime
View raw message