Eu lhe dei a resposta para isso nos comentários sobre O servidor não está respondendo ao SSH e HTTP, mas o ping funciona , mas aparentemente você não acredita em mim. Realmente, é verdade!
Você precisa dimensionar MaxClients
/ ServerLimit
no seu sistema. As "configurações 5-10 para Servidores Mín / Máx" que você mencionou são basicamente irrelevantes - isso é apenas o número de servidores extras disponíveis para não fazer nada que o Apache manterá.
Para definir MaxClients apropriadamente, observe o típico limite máximo dos processos httpd
(ou apache2
) e, em seguida, divida a memória disponível por isso. Melhor deixar cair um pouco para dar o resto da sala do sistema para respirar. Como você tem 4 GB de RAM e 185 MB de processos, isso significa que o valor de ServerLimit
deve ser de 21 no máximo - provavelmente 20 ou 19.
Agora, pode ser que 190MB seja atípico. Você pode definir o ServerLimit mais alto, baseado em uma estimativa diferente do uso típico, mas então você está basicamente apostando que você nunca terá um pico. Se isso acontecer, seu sistema estará sem memória .
Se você puder encontrar uma maneira de restringir seu uso de memória por trabalhador, isso será uma vitória. Estou apostando que este é um caso de PHP Ate My RAM . Você pode codificar seu aplicativo para viver com um memory_limit
mais baixo? Se você não pode fazer isso, você precisa de um modelo diferente sob o qual rodar seu PHP. Se você não puder fazer isso, precisará comprar mais RAM.