Aumento repentino no uso da CPU e no tempo de resposta do servidor

3

Nos últimos 10 dias, de repente, estou experimentando um aumento no uso da CPU no meu site, com o uso da CPU chegando a 100% três vezes. Durante esse tempo, não consigo acessar o SSH no meu site, por isso não consegui descobrir o que está realmente usando essa quantidade de CPU, mas tenho a sensação de que ela precisa fazer algo com o Apache. Meu site é um aplicativo do Django que usa Apache2, PostgreSQL e Memcached hospedado no DigitalOcean (512MB Ram, disco SSD de 20GB, Ubuntu 14.04 x64).

Aqui está a saída do topo atualmente.

top - 16:15:31 up 19:12,  1 user,  load average: 0.01, 0.09, 0.46
Tasks:  78 total,   2 running,  76 sleeping,   0 stopped,   0 zombie
%Cpu(s):  9.5 us,  1.9 sy,  0.0 ni, 85.0 id,  3.3 wa,  0.3 hi,  0.0 si,  0.0 st
KiB Mem:    501868 total,   495576 used,     6292 free,    41836 buffers
KiB Swap:        0 total,        0 used,        0 free.   152976 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
15036 www-data  20   0  906084 156828   2448 S 19.3 31.2  12:08.08 apache2
    1 root      20   0   33472   1300      0 S  0.0  0.3   0:02.09 init
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:01.63 ksoftirqd/0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    7 root      20   0       0      0      0 S  0.0  0.0   0:10.60 rcu_sched
    8 root      20   0       0      0      0 R  0.0  0.0   0:29.05 rcuos/0
    9 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
   10 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/0
   11 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
   12 root      rt   0       0      0      0 S  0.0  0.0   0:01.07 watchdog/0
   13 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper
   14 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
   15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
   16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd
   18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
   19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/u3:0

Aqui está o arquivo conf do Apache

<VirtualHost *:80>

    RewriteEngine On
    RewriteCond %{HTTP_HOST}  ^example.com [nocase]
    RewriteRule ^(.*)         http://www.example.com$1 [last,redirect=301]

    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]

    WSGIDaemonProcess example python-path=/home/abc/example:/home/abc/example/env/lib/python2.7/site-packages
    WSGIProcessGroup example
    WSGIApplicationGroup %{GLOBAL}
    WSGIScriptAlias / /home/abc/example/wsgi.py

    DocumentRoot /home/abc/example

    <Directory />
        Require all granted
    </Directory>

    Alias /static/ /home/abc/example/static/

    <Directory /home/abc/example/static>
        Order deny,allow
        Allow from all
    </Directory>

    Alias /media/ /home/abc/example/media/

    <Directory /home/abc/example/media>
        Order deny,allow
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Aqui está o gráfico do uso de CPU, disco e largura de banda no último mês

Como você pode ver, o uso da CPU aumentou três vezes nos últimos dois dias. Eu tive que reiniciar a minha gota para derrubá-lo. O uso da CPU geralmente costuma variar entre 0-5% até alguns dias atrás, mas aumentou agora.

O tempo de resposta para o site também aumentou para cerca de 4 segundos. Tudo parecia estar funcionando bem até cerca de 10 dias e eu não fiz nenhuma alteração na minha configuração desde então. Não houve um aumento no tráfego com tráfego diário sendo cerca de 1500 visitantes. Como posso identificar o que está causando esse problema? Alguma idéia?

    
por Yin Yang 14.11.2014 / 12:02

3 respostas

0

a partir dos gráficos de largura de banda, mostra aumento no tráfego de entrada, ou seja, o tráfego indo para o servidor, também aumenta a taxa de gravação de disco .. isso me faz suspeitar de algum tipo de ataque no servidor .. Melhor abordagem de segurança aqui para alterar TODAS as senhas do servidor. Isso é essencial para identificar se é um bug em um software ou algum tipo de violação bem-sucedida em seu servidor ...

    
por 31.12.2014 / 15:08
0

Se a teoria da sikas estiver correta de que isso é causado por tráfego externo, você precisa ajustar melhor o apache. Corte o ServerLimit pela metade ou mais e veja se ele sobrevive melhor da próxima vez.

    
por 31.12.2014 / 15:38
0

Você deve definitivamente tentar usar o Cloudflare, pelo menos tente a versão gratuita, seu servidor será mais livre sem a necessidade de servir recursos estáticos e seu site estará protegido para os ataques mais comuns.

    
por 25.05.2015 / 15:42