como eu posso entender porque o apache está consumindo tanto cpu - ec2

1

Eu tenho uma instância ec2 c3.medium em execução. Recentemente, ele começou a sobrecarregar a CPU, fazendo com que o servidor não respondesse. A reinicialização da instância realmente não ajuda por muito tempo, embora faça o apache exibir sites novamente por uma hora ou mais.

Quando olho para o topo, posso ver vários processos do apache sendo executados, isso varia entre 10 e 1, e o% de uso da CPU destes flutua até cerca de 30%.

Quando está se esgotando, são esses processos do apache que são o problema /

Como posso descobrir o que está impulsionando esses processos?

instantâneo do resumo principal aqui

top - 16:06:32 up 33 min,  2 users,  load average: 1.80, 1.67, 2.13
Tasks:  87 total,   2 running,  85 sleeping,   0 stopped,   0 zombie
Cpu(s): 55.4%us,  2.6%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si, 42.0%st
Mem:   3842540k total,  1698436k used,  2144104k free,    87556k buffers
Swap:  1048572k total,        0k used,  1048572k free,   501328k cached




 2088 apache    20   0  707m  75m  31m S 17.9  2.0   0:53.59 /usr/sbin/httpd
 2188 apache    20   0  698m  70m  27m S 17.9  1.9   0:59.35 /usr/sbin/httpd
 1613 mysql     20   0  885m 200m 6860 S 10.6  5.4   3:41.55 /usr/libexec/mysqld
 2197 apache    20   0  698m  86m  44m S  5.6  2.3   0:53.89 /usr/sbin/httpd
 1864 apache    20   0  698m  78m  35m S  1.7  2.1   0:55.13 /usr/sbin/httpd
 2097 apache    20   0  699m  87m  43m S  1.7  2.3   0:54.70 /usr/sbin/httpd

Nunca tive esse tipo de problema, portanto, além de olhar para o topo, não sei como definir de onde o problema está vindo.

obrigado.

ATUALIZAÇÃO: Não ouvi de volta a minha pergunta nos comentários, mas curiosamente o problema apenas se resolveu depois de acontecer por cerca de duas semanas, o que me sugere que a AWS estava roubando muito CPU, em vez de ser um problema com a nossa configuração. Alguém tem algum comentário sobre esta conclusão?

    
por Tofuwarrior 08.01.2015 / 17:11

1 resposta

2
  1. Load average > 1 != bad , você precisa entender melhor .
  2. Esse 42.0%st na linha da CPU não está bom. Isso é 'Hora de Roubar' o que significa que o host de computação em que você está provavelmente está com excesso de assinaturas e 42% dos ciclos de CPU estão acontecendo em outras instâncias, não na sua.
  3. Execute apachectl fullstatus e procure por trabalhadores no estado W . Essas pessoas lhe dirão quais solicitações o apache está atendendo naquele momento.
por 08.01.2015 / 22:53