![]() | Since I am facing performance problem due to the load of visitors and a badly configured server, I decide today to document my findings in this new series of articles. As soon as PHP run as FastCGI and no more inside an Apache module (mod_php4.so is not multi threaded), You should be able to switch the default MPM setting of Apache from MPM prefork to MPM worker. So, what's the difference between prefork and worker? Quoting from the Apache MPM Prefork page: http://httpd.apache.org/docs/2.0/mod/prefork.html MPM Prefork implements a non-threaded, pre-forking web server that handles requests in a manner similar to Apache 1.3. And for the Apache MPM Worker says: http://httpd.apache.org/docs/2.0/mod/worker.html MPM Worker implements a hybrid multi-process multi-threaded server. By using threads to serve requests, it is able to serve a large number of requests with less system resources than a process-based server. Server: Strato (www.strato.de) Operating system: SuSE / openSuSE Requirements: root access and basic Unix knowledge |
| 1 | Edit
the file # vi /etc/sysconfig/apache2 and change the key: APACHE_MPM=" " to APACHE_MPM="worker" |
| 2 | You
can now tune also default parameters in file /etc/apache2/server-tuning.conf Here are my settings, these are still the default setting of Apache vi /etc/apache2/server-tuning.conf # worker MPM <IfModule worker.c> ServerLimit 16 # initial number of server processes to start StartServers 2 # minimum number of worker threads which are kept spare MinSpareThreads 25 # maximum number of worker threads which are kept spare MaxSpareThreads 75 # maximum number of simultaneous client connections MaxClients 150 # constant number of worker threads in each server process ThreadsPerChild 25 # maximum number of requests a server process serves MaxRequestsPerChild 6000 </IfModule> |
| 3 | start # apache2-reconfigure-mpm this recreate the file /etc/apache2/sysconfig.d/loadmodule.conf and restart apache automatically. Test Your site to ensure everything still work as expected. |
Privacy Statement | Copyright Notice | Licenses
© 1999-2012 Waltercedric.com. Designed by Cédric Walter. Sitemap
Reproduction without explicit permission is prohibited. All Rights Reserved. All photos remain copyright © their rightful owners. No copyright infringement is intended.
Disclaimer: The editor(s) reserve the right to edit any comments that are found to be abusive, offensive, contain profanity, serves as spam, is largely self-promotional, or displaying attempts to harbour irrelevant text links for any purpose.