For apaches... pre 2.0...
Apache Performance Boost
By: Chris Jester (
[email protected] )
If you are experincing long delays while "Waiting for reply...." with Apache servers you may try the following hack I use frequently to speed up your systems performance. Apache comes with a limit of 256 Child Processes defined in its hard server limit (in the source code). This can kill apache when it is used for a very very busy site.
Normally in the httpd.conf file you can only set a maximum of 256 MaxClients. This is not enough for a busy site. To change this limit (which the makers of apache suggest as well), edit src/includes/httpd.h and change the value of HARD_SERVER_LIMIT. Bump it up to 1024, then set your httpd.conf files MaxClients to like 512. That should be ample. Re-compile apache and you are done.
Note: Linux itself has a "Max Processes" per user limit. Add this to your root .bashrc file:
ulimit -u unlimited
You must exit and re-login before starting your new apache! Otherwise you will run into problems. To verify that you are ready to go, make sure that when you type ulimit -a as root, it shows "unlimited" next to max user processes.
(note: you may also do ulimit -u unlimited at the command prompt before starting httpd instead of adding it to the .bashrc file, but I always forgot, so I just added it in the .bashrc file as a safety net.. Another good place to put ulimit -u unlimited is in the httpd startup file in /etc/rc.d/init.d)