apache overload and down

Discussion in 'Apache' started by tsep, Oct 15, 2009.

  1. #1
    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!
     
    tsep, Oct 15, 2009 IP
  2. Natashalein

    Natashalein Peon

    Messages:
    83
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    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 :) .
     
    Natashalein, Oct 18, 2009 IP