Posts

Showing posts from August, 2016

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