Uso alto de CPU do Apache, configurando um limite de sobrecarga

2

Em um servidor Ubuntu, eu corro um ambiente LAMP com APC, e fast-cgi como mod PHP, para hospedar 2 sites wordpress, e ambos os sites têm o plugin Wordpress Total Cache (W3TC) configurado.

As especificações do servidor são: 2gb de ram e 1 cpu (cpu MHz: 2100.076, tamanho do cache: 2048 KB).

Um dos sites gera uma carga bastante pesada no servidor e, com frequência, o servidor pára de responder devido à carga alta.

  • Eu desativei os módulos do Apache não utilizados
  • defini que todo o cache do W3TC seja feito na memória com o APC
  • eu fiz alguns ajustes no apache

Mas nada disso realmente me ajuda com o uso brutal da CPU, de php-cgi .

Enquanto eu implemento o verniz e tento ter uma réplica em outro servidor, também posso fazer um balanceamento de carga. Gostaria de saber como definir um limite de carga em php-cgi ou apache ? e mostre uma mensagem personalizada como: Sorry, the server is under heavy load, please try again later

Tem que mencionar que eu também uso cloudflare.

Quaisquer outras dicas, são muito bem-vindas também.

    
por w0rldart 04.04.2013 / 14:51

1 resposta

3

Quais são as taxas de solicitação típicas para conteúdo gerado e estático do PHP? Você verificou a taxa de acertos no APC para armazenamento em cache e para opcode? Qual versão do PHP?

show a custom message

O lugar mais sensato para fazer isso seria em um proxy reverso - mas você diz que não está no lugar ainda. Outra abordagem seria executar um servidor web mínimo e balanceador de carga na caixa atual (além do conteúdo principal) e redirecionar dessa forma - mas isso é ainda mais trabalho do que configurar o Varnish.

De modo semelhante, envolver o front end em um script proxy teria o efeito desejado - mas, novamente, o esforço é mais do que implementar o verniz.

    
por 04.04.2013 / 15:39