httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sam Talebbeik <>
Subject Re: TUX 1.0/Linux beats Windows????
Date Thu, 06 Jul 2000 08:28:31 GMT
Bill, you make valid points about pushing more and more
functionality into the kernel. However if you have a 
"dedicated" web server machine, putting more functionality
into the web server could make sense. Also if "speed" is a
primary concern, and in the case of benchmarks it is, then it
again makes sense to push some of the functionality into the
kernel. Here is a link to another in kernel http server called
khttpd. They also show impressive benchmark numbers for serving
static pages.

Sam Talebbeik (
Open Source Server is "The Force of the Internet"

Bill Stoddard wrote:
> > > > Also.  They mention TUX being integrated into Apache 2.0?  Has this been
> > > > discussed via private e-mail?  Of course if this were to happen the
> > > > license would need to change :)
> > > >
> > > > Kevin
> > > >
> > > I obviously haven't looked at TUX, but having worked on similar technology
> venture an
> > > educated guess here...
> > >
> > > Apache would not integrate TUX. TUX is part of Linux and implements its own
set of
> APIs to
> > > control it. Apache would ship a module (or have hooks in the code) to interface
> > > to do things like start/stop it, load the cache either via config directives
> > > dynamically, etc. I can easily imagine putting code into Apache enabling the
use of
> TUX or
> > > other kernel resident HTTP engines.
> >
> > I don't know if it is worth it.  I mean if you are doing static content
> > a kernel HTTP server will easily beat Apache.  If you are doing dynaic
> > content like Servlet/etc pushing this down into the kernel would
> > probably be slower than just having Apache push it out by itself.  If
> > you have Apache push it into the Kernel you get a context-switch and
> > this will hurt performance.  In this situation you really don't have a
> > reason to serve content in this manner.
> >
> The idea is to do the static content in the kernel and the dynamic content in user space.
> If the kernel cache doesn't get a hit, it punts the HTTP request up to Apache, probably
> via the normal socket API. Apache probably doesn't even need to be aware there is
> something under the covers sniffing and serving static requests. The problem with a hybrid
> approach (kernel cache serving static pages and a user space server handling everything
> else) is that you end up shoving more and more function into the kernel resident piece
> handle mapping the content namespace, access control and authentication, etc. At what
> point should you just move all of Apache into the kernel?
> Handling pipelined requests gets a bit messier though (as discussed last week on this
> list). I am curious how TUX handles keeping responses to pipelined requests in order.
> Bill


View raw message