httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dean gaudet <>
Subject Re: FW: Apache Optimization - Post-graduate Research
Date Fri, 28 Sep 2001 00:03:06 GMT
On Thu, 27 Sep 2001, Bill Stoddard wrote:

> From my experience, a properly implemented kernel engine will be from
> 1.5 to 2x faster than the fastest user space implementations (Zeus,
> IIS for example). An event driven server will be somewhat faster than
> a thread-per-connection server.  The real advantage of an event driven
> server is that it scales well to large numbers of concurrent clients.

this was true until linux 2.4.x ... where X15 has demonstrated that with
the right kernel features, you can write a fast server in userland.  the
right kernel features include:  zero-copy tcp and scalable event
processing (i.e. not poll()).

> FWIW, the worker MPM is a step in the right direction for making
> Apache an event driven server. We just need to mangle the core HTTP
> parsing engine to make it stateful and impose some programming
> disiplines on an async Apache API. Good 3.0 stuff :-)

the core HTTP parsing engine has been ready for an event-driven server
since about apache 0.7.  the only thing that needs to happen is changes to
the content handlers.

on production servers, with probability close to 1, all data required for
the http parsing to decide on a handler arrives in the first packet of the
request.  so rather than complicate this code by making it able to handle
the almost-never-happens case it's better to just use a small small small
pool of threads to parse incoming requests.  a pool that has maybe 1
thread per cpu in it.


View raw message