Garante a segurança contra falhas de um servidor Apache

2

Eu tenho alguns sites Wordpress rodando em Apache 2.4.7 / Ubuntu 14.04.2 LTS. É uma máquina virtual em execução no Microsoft Azure. Os sites estão usando um servidor MySQL também rodando na mesma máquina. De tempos em tempos, os sites não respondem e o Apache precisa ser reiniciado. Investigando o log de erros ( /var/log/apache2/error.log ) revela o seguinte erro:

[mpm_prefork:error] [pid 5761] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

Aqui está o conteúdo do arquivo de configuração do Apache ( /etc/apache2/mods-enabled/mpm_prefork.conf )

<IfModule mpm_prefork_module>
        StartServers             5
        MinSpareServers          5
        MaxSpareServers          10
        MaxRequestWorkers        256
        MaxConnectionsPerChild   1000
</IfModule>

Eu aumentei o MaxRequestWorkers para o número máximo permitido (256), mas ainda continua acontecendo. Eu tentei mudar a configuração de MaxConnectionsPerChild , mas não parece ter qualquer efeito também. Às vezes, os sites funcionam bem por semanas, às vezes o Apache diminui em um dia. Ocasionalmente, o processo do MySQL também pára de funcionar e precisa ser reiniciado.

O que mais devo verificar?

Ocasionalmente, recebemos uma carga um pouco mais pesada de solicitações para os websites. Isso poderia causar o problema? Mais importante, porém, isso significa imediatamente que precisamos ter memória disponível ou o servidor da web falhará? Ou seja, há alguma coisa a fazer para garantir a segurança contra falhas, não importa quantas solicitações o servidor web receba?

    
por cccec 14.04.2015 / 12:00

0 respostas