O Apache httpd processa servidor sobrecarregado

1

Aleatoriamente, o Apache parece enlouquecer e consumir o uso da CPU e sobrecarrega o servidor. A quantidade de visualizações de página diárias é de apenas cerca de 8000, pelo que pode seguramente lidar com este tráfego. Parece também acontecer aleatoriamente. Alguém já ouviu falar disso antes e possíveis soluções?

Algumas estatísticas básicas do servidor: Executando o WHM / Cpanel mais recente, com 4gig de memória Xeon (R) X3430 a 2.40GHz.

Apache: 2.2.17 PHP: 5.2.17 com eAccelerator

Parte superior:

top - 16:41:12 up 7:15, 1 user, load average: 2.77, 2.23, 1.91
Tasks: 79 total, 4 running, 75 sleeping, 0 stopped, 0 zombie
Cpu(s): 88.4% us, 2.5% sy, 0.0% ni, 9.1% id, 0.1% wa, 0.0% hi, 0.0% si
Mem: 4024216k total, 960384k used, 3063832k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
31902 nobody 17 0 43072 16m 6804 S 65.9 0.4 0:07.93 httpd 
29802 nobody 16 0 45700 24m 13m R 32.3 0.6 0:19.77 httpd 
32159 nobody 15 0 41984 11m 3440 S 30.3 0.3 0:01.34 httpd 
28227 nobody 15 0 43492 17m 7456 S 29.6 0.4 0:27.59 httpd 
31848 nobody 16 0 46184 17m 6608 R 29.6 0.5 0:07.40 httpd 
31785 nobody 16 0 44872 16m 5964 S 26.0 0.4 0:01.05 httpd 
30310 nobody 15 0 43284 16m 7228 S 24.6 0.4 0:08.90 httpd 
32130 nobody 15 0 42064 12m 3776 S 21.6 0.3 0:02.18 httpd 
28597 nobody 16 0 43396 17m 7368 S 21.0 0.4 0:12.76 httpd 
32158 nobody 15 0 43180 14m 5216 S 21.0 0.4 0:01.00 httpd 
17861 nobody 16 0 43484 24m 14m S 17.3 0.6 1:15.55 httpd 
31764 mysql 15 0 631m 318m 5056 S 14.3 8.1 76:50.21 mysqld 
32157 nobody 15 0 42668 15m 6312 S 10.7 0.4 0:01.07 httpd 
29841 nobody 15 0 44512 18m 8128 S 7.7 0.5 0:15.14 httpd 
26296 nobody 15 0 44624 18m 7800 S 1.0 0.5 0:31.26 httpd 
31825 nobody 15 0 43268 16m 6468 S 0.7 0.4 0:07.50 httpd 
1 root 15 0 1716 608 520 S 0.0 0.0 0:00.49 init

    
por brant 20.04.2011 / 02:59

1 resposta

2

Algumas coisas que você pode verificar:

  • Este servidor é um VPS (os buffers / swap são 0k, o que normalmente acontece nos servidores VPS)? Se este for o caso, as lentidões podem ser devidas, no todo ou em parte, a outros sites no servidor. Se este for o caso, você pode alternar os provedores VPS ou mover para um servidor dedicado.
  • Verifique a saída de / server-status desde que você tenha mod_status ativado. Isto irá dizer-lhe o que todos os seus clientes httpd estão fazendo e pode dar uma idéia da causa do problema (uma página de carregamento lento, por exemplo).
  • Tente comparar seu site usando o ab (ApacheBench) para obter sua capacidade máxima. 8000 acertos / dia são apenas um acerto a cada 11 segundos, mas se o tráfego não é distribuído uniformemente ou algumas de suas páginas demoram 10 segundos para renderizar, você pode facilmente entrar em apuros. Você pode estar atingindo a capacidade máxima do servidor do seu site às vezes durante o dia.
  • Tente obter uma contagem mais precisa de seu tráfego de entrada e não presuma que você está recebendo apenas 8 mil acessos / dia. O análise do log do Google Analytics (ou um serviço semelhante) ou do Apache seria suficiente e informará se um ou mais clientes estiverem manipulando seu site por algum motivo ou se você receber um aumento repentino no tráfego (por exemplo, uma postagem do blog é exibida no Reddit).
  • As interrupções ocorrem em horários específicos do dia (na hora ou na mesma hora todos os dias)? Se assim for, pode ser um script cron que está causando o problema.
por 20.04.2011 / 18:00

Tags