On 4/5/06 7:15 PM, "John Peacock" <[EMAIL PROTECTED]> wrote:
> Matt Sergeant wrote: >> It's all about the connection overhead of forking. Forkserver forks for >> every connection whereas Apache::Qpsmtpd doesn't. That's bound to be >> more scalable. Look how much faster Apache is than stock NCSAhttpd. > > I that's all it is, we can easily(?) change forkserver to prefork some > percentage of its max connections and dole them out as needed. I may try to > do > that anyways because the inbound machines I use won't be getting Apache2 > anytime > soon. It isn't [just] pre-forking. It uses the same server processes repeatedly. With forkserver, don't let the process exit after the socket is closed, put the process into the queue for a future process which can dup2 the accept()ed socket for its new i/o interface. Then add process stats so after X sessions the process will be closed and reaped to forkserver too. (Setting up ENV in forkserver would be nice too instead of relying on the calling shell to have [u]limit'd to the nines. Maybe newer versions do, I can't say that I've looked.) peter
