William A. Rowe, Jr. wrote:
Justin Erenkrantz wrote:
I'd prefer that we remove all MPMs and teach whatever remains to be
able to emulate prefork (multiple-process/single-thread) or worker
(multiple-process/multiple-thread) at run-time.
I suspect we are still a ways away from this. If we can make the point
that there's a obvious one-and-only mpm, then yes, maybe it's time.
On unix, I think we are much closer than you think:
SimpleThreadCount 1
SimpleProcCount 200
Would behave very similar to prefork does today. (and we can make some
further optimizations when threadCount == 1, but those are optimizations
to be done later imo).
We aren't there. I don't care about prefork, if it isn't threaded there
is no point, but simple isn't the answer. Because it's a static pool
of threads, it's no different than win32, but win32 really screams for
a resizeable thread pool for developer's installations and such (varies
between very small footprint and a modest number of connections).
Then improve the threadpool code in apr-util, the simple mpm itself has
very little to do with the thread pooling implementation:
http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___t_p.html
It has the start number and can spawn more -- but I don't think it
actively reaps idle threads.