I setup 2 vpses from sliceshost for my customer. both are 2G memory. one is for magento on apache2 and another is for mysql. MySQL works great, but apache have big problem. my customer started his google adwords, after 5 min, the memory and swap had almost been used over. I have to let them stop google adwords, then restart apache. everything is back again. here is my apache configure Timeout 60 KeepAlive On MaxKeepAliveRequests 500 KeepAliveTimeout 5 <IfModule mpm_prefork_module> ServerLimit 500 StartServers 8 MinSpareServers 15 MaxSpareServers 20 MaxClients 300 MaxRequestsPerChild 4000 </IfModule> error log say [Thu Oct 15 19:00:17 2009] [error] server reached MaxClients setting, consider raising the MaxClients setting [Thu Oct 15 19:01:10 2009] [warn] child process 8302 still did not exit, sending a SIGTERM [Thu Oct 15 19:01:10 2009] [warn] child process 8156 still did not exit, sending a SIGTERM ... [Thu Oct 15 19:01:16 2009] [error] child process 8783 still did not exit, sending a SIGKILL [Thu Oct 15 19:01:16 2009] [error] child process 8784 still did not exit, sending a SIGKILL [Thu Oct 15 19:01:16 2009] [error] child process 8785 still did not exit, sending a SIGKILL .... [Thu Oct 15 19:01:17 2009] [error] could not make child process 8302 exit, attempting to continue anyway [Thu Oct 15 19:01:17 2009] [error] could not make child process 8156 exit, attempting to continue anyway [Thu Oct 15 19:01:17 2009] [error] could not make child process 8338 exit, attempting to continue anyway it is about 200-300 visit one time. I'd like to know if I need upgrade more memory or my apache configure have problem. I am looking forward to your advise. thanks!
The main problem is as you thought your memory.But you can solve the problem by turning off some unused things of apache. These are only some examples : /etc/apache2/server-tuning.conf StartServers 1 MinSpareServers 1 MaxSpareServers 3 ServerLimit 30 MaxClients 100 MaxRequestsPerChild 4000 KeepAlive Off Delete unneded services in /etc/sysconfig/apache2 * auth_dbm (HTTP-Auth via Berkley-DB) * autoindex (Directory-Index * expires (Expires-Header) * frontpage (Frontpage-Extension (Who works with Frontpage ???)) * include (SSI) * negotiation (Countrydepended Content) * perl (mod-Perl has nothing to do with CGI !) * speling (predict false URL's) * status ( Performance-Sucker) * userdir (URL's /~user/) /etc/my.cnf key_buffer = 2M myisam_sort_buffer_size = 4M read_buffer_size = 512K read_rnd_buffer_size = 4M If you are using plesk : /usr/local/psa/admin/conf/httpsd.conf bzw. /opt/psa/admin/conf/httpsd.conf MinSpareServers 1 MaxSpareServers 2 StartServers 1 MaxClients 10 I hope i could help you a bit .