I'm looking at running an Apache web server that must handle 20k+ simultaneous connections. With either the Prefork or Worker MPMs that's a lot of child processes and/or threads. Therefore my interest is in keeping the total number of child processes and threads to a minimum, if possible. Does anyone have any experience, or is it even possible, to write my own updated MPM that will allow a single process or thread to handle multiple requests at the same time? I've considered using the apxs extension tool for this. Any feedback would be greatly appreciated. Thanks!
Are you sure its 20K simultaneous connections? Or its 20K simultaneous visiters, may be 20K daily visiters? Apache cant handle that amount (impossible with prefork, and still very impractcal with worker). Some single process single threaded mpm might be of some help. You may need to switch to lighttpd and raise the open file desciptors limit on your server to achieve this.
We're definitely looking at 20k simultaneous connections. Probably going to have several instances of Apache running to handle the load. No one knows of any way to get a child process or thread to handle multiple requests at the same time?