How to optimize Apache performance
Apache is modular in that you can add and remove features easily. Multi-Processing Modules (MPMs) provide this modular functionality at the core of Apache -- managing the network connections and dispatching the requests. MPMs let you use threads or even move Apache to a different operating system. Only one MPM can be active at one time, and it must be compiled in statically with --with-mpm=(worker|prefork|event) . The traditional model of one process per request is called prefork . A newer, threaded, model is called worker , which uses multiple processes, each with multiple threads to get better performance with lower overhead. The final, event MPM is a module that keeps separate pools of threads for different tasks. To determine which MPM you're currently using, execute httpd -l Choosing the correct MPM to use depends on many factors. On the surface, threading sounds better than forking, if all the underlying modules are thread safe, including all the libraries used