httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <>
Subject Re: MPMs, COW vs Child Process Spawning
Date Thu, 30 Oct 2008 10:33:18 GMT
On Wed, Oct 29, 2008 at 11:59:06AM -0700, Paul Querna wrote:
> Is COW ability of fork important enough with modern memory and operating  
> systems, to maintain two significantly different code paths for spawning  
> children processes?

I looked at a stock 2.2 install (x86_64) with most modules built as 
DSOs, and it looks like there's about 1-2MB of anon heap allocated. 
(look at pmap or /proc/$PID/maps if anybody else wants to compare)

So... I would guess the answer is, "it depends", if that is a reasonable 
estimate at the fork benefit.  If you expect people to be doing those 
insane 50K process tricks as are possible with prefork, then 50K*1MB is 
a huge additional overhead, yes.  If not, then I'd guess it's lost in 
the noise.

I think the far bigger difference between Windows and Unix on this front 
is fd/HANDLE inheritance though.  Unless you want to get into passing 
fds over AF_UNIX sockets on Unix (please no) then there is going to 
remain a major disparity in how an MPM operates between the two 
platforms, and you might as well keep the stuff Unix does well, no?

Regards, Joe

View raw message