Comment Re:Not 100,000 threads in parallel, just 50. (Score 4, Informative) 409
Apache 2.0 doesn't actually do thread creation
very frequently. The thread creation cost occurs
mostly at startup. So the limiting factors for
threaded Apache performance on Linux are mainly:
- The speed with which the kernel can
schedule and context-switch among threads
For some recent data on this, see http://marc.theaimsgroup.com/?l=apache-httpd-dev&m =103228014211983. The O(1) scheduler patch for 2.4 seems to help here. - Memory usage per thread
- Concurrency limitations of the Apache code
itself
This has been improving gradually with successive 2.0 releases, as the remaining global locks are removed or optimized. - General robustness of the thread
implementation
The current (2.4) Linux threading implementation doesn't work well with debuggers.