httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bing Swen" <>
Subject Re: Simple MPM is in trunk
Date Thu, 30 Oct 2008 09:44:56 GMT
Jorge Schrauwen  wrote on 2008-10-30 17:03
  On Thu, Oct 30, 2008 at 5:37 AM, Bing Swen <> wrote:

    Paul Querna wrote on 2008-10-30 12:10

      Bing Swen wrote:

        Paul Querna wrote on 2008-10-28 15:12

        Hope you've included 64-bit Windows in mind. Make x64 Windows a 
first-class citizen in httpd-2.4.x, please.

      How is it not a first class citizen in 2.2.x?

    Here are some reasons:

    1. Currently Win-x64 compilation is a painstaking mission (hopeless for 
us), still no go to a 64-bit httpd.exe;

  I have to admit it isn't easy to do so. But it certainly is possible!
  Due to lack of time on my part I've not updated the httpd wiki but you can 
find how to do it here:

  First few times are the hardest but once you setup a nice build 
environment its all good.
  Vista + vs 2005/2008 is generally bad. XP x64 + 2005 currently works the 
best, although 2008 works too.

  If you can't be bothered with the trouble, there are unofficial binaries 
on there too if you want to play with it.

    2. Many stock modules have no 64-bit configuration.

  Again it's a matter of recompiling, most windows users are spoiled and 
thing everything comes in nice binaries.
  libphp5, mod_macro, mod_jk, mod_security,... can all be recompiled for 
64-bit, most are easier to do than httpd itself.

Thanks for the nicely presented tutorial. I'll try to follow it and to 
understand what that 600+ PERL lines have fixed.

So we have to get AWK, Bison, Flex and Sed to work, which are not required 
for a 32-bit build. And, we need a Perl Interpreter to run some "magic" 
conversions to get it built. That already made Win-x64 httpd a second-class 

    3. For some that compiles, there are lots of warnings of dangerous 
conversions. Win-64 uses P64 (only pointers are 64 bits), instead of PL64 
like Linux.

    4. Suboptimal network i/o and so second-class performance. Native 
support of IOCP (completion port) needs a mapping from requests (not 
connections) to worker threads, so requires httpd to do some "connection 
scheduling" ("suspendable connections" as discussed before).


  Personally I'd love to see the httpd project release 64-bit binaries 
themselves. But it's a lot of work for not much gain!*

  * tests with the early 2.2 branch show little to no improvements.

The improvement is httpd's virtual memory -- and actually very significant: 
we need to map a 500+ GB index into the memory space of httpd's child 
process. 64-bit space is our only choice;)


View raw message