Hi guys, can anyone point me to a good documentation of tweaking apache and analyzing its behavior? I want to know more about the settings in /et/apache2/apache like about threads, children etc. I just want to know/find out if my server is running at its best. For example I moved a high traffic site (mostly caused by a huge image gallery) to my server and sometimes the number of apache2 processes is at 20, which seems to be the maximum, now I want to know if there are users to which the site is unavailable or not? Analyze my graphical output, etc.
I googled a bit: http://www.webhostgear.com/49.html http://httpd.apache.org/docs/1.3/misc/perf-tuning.html http://www.serverwatch.com/tutorials/article.php/3436911 http://www.thescripts.com/serveradministration/webservers/apache/theapachewebserver/page3.html http://forum.ev1servers.net/showthread.php?t=9895
thx a lot, there were some useful links there. the main thing I learned is that its all about the ram first of all: these are my own conclusions after reading some articles about apache2 so treat them carefully, read on your own and don't hold me responsible for any errors but please do correct me if I stated something wrong here. here are my main settings, maybe someone wants to experiment with that too: This is on a Celeron 2400MHZ with 512MB RAM One simple thing to do is to use top, have a look at the average size of your apache2 processes then multiply the number of MaxClients with that number, i.e. my average apache2 process is 12MB*35=420MB of RAM which sounds like a lot, but it is working, as webserving is the main role of this system. The next thing you should tweak is the MaxRequestsPerChild - my system was initially set to 0 which meant the process nerver dies, setting it to 150 means after 150 of requests that child proces dies and thus prevents for example memory leaks which might let the process grow too fat by killing and then respawning accordingly to the number of spareservers and maxclients you have set. ####edit:#### Could someone else maybe post his setting, together with the machine specs? I just want to get the most out of my machine and after looking at the stats: h**p://www.web-designerz.de/serverstats especially at the apache2 stats I can see that I am stuck with 40 processes of apache2 for a while... does this mean there are clients I can't serve at that moment or does it mean that maybe 10 of those procs are idle (spare servers) ? ... btw. is there a way to limit the number of mysql children ? I always have a minimum of 12 loaded and they each use 36MB...