httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject Re: [community] 2.3.0 alpha on October 1?
Date Tue, 02 Sep 2008 22:47:48 GMT
bill stoddard wrote:
> I completely agree, it's not a slam-dunk conclusion that async/event
> driven connection management in an http server is clearly superior.
> However, Bing mentioned Windows...  Apache on Windows is not a stellar
> performer, especially compared to a server that fully exploits IOCPs, 
> connection reuse and  TransmitFile.  The Windows MPM does use IOCPs (not 
> optimally) and connection reuse.  The biggest inhibitor to Apache on 
> Windows performance serving files is in the apr_sendfile implementation. 
>   Calls to TransmitFile are broken into something like 64KB chunks in 
> order to facilitate detecting send timeouts.  If you modify the call to
> TransmitFile to always just send the whole file, performance sending
> large files will improve dramatically.

My current thinking goes as follows;

  * drop detecting timeouts in apr_sendfile (if win32 is incapable, so be it,
    they can configure sendfile off if they must, and in fact we could
    do so by default, solving all sorts of NFS-issues with it.)

  * drop win32acceptex semantics, replace them with acceptfilter... none
    (a simple accept), connect[ion] (the acceptex semantic), data (acceptex
    enhanced with first buffer).

I'll be committing this over the next few weeks, but I'd love review and
feedback on the ideas.  Migrating the first discussion over to apr in the
next day or so.


View raw message