Complementando a resposta do @Sameer, eu li muito deste tema e o que eu faço é isso:
-
Obtenha o tamanho médio do processo do Apache:
server# ps -ylC apache2 --sort:rss
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 33 6233 25895 0 80 0 7432 72802 poll_s ? 00:00:00 apache2
S 33 6250 25895 0 80 0 7432 72802 poll_s ? 00:00:00 apache2
S 33 6278 25895 0 80 0 7432 72802 poll_s ? 00:00:00 apache2
S 33 6280 25895 0 80 0 7432 72802 poll_s ? 00:00:00 apache2
S 33 6577 25895 0 80 0 7432 72802 poll_s ? 00:00:00 apache2
S 33 6299 25895 0 80 0 7772 72891 poll_s ? 00:00:00 apache2
S 33 6295 25895 0 80 0 7776 72891 poll_s ? 00:00:00 apache2
Como você pode ver na coluna SZ, o tamanho do meu processo Apache é de cerca de 73 MB
-
Faça a seguinte fórmula
MaxClients: ((Total_Memory)(1024)(MB) - Other_processes_memory) / 73
Por exemplo: eu tenho 16 GB de RAM, posso deixar 2 GB livres para qualquer outro processo
MaxClients: ((16*1024) - 2048) / 73
MaxClient: 196
Isso é o que eu uso & meu servidor está indo muito bem.
Você tem que considerar que meus processos do Apache são um pouco pesados, então você poderia ter processos de cerca de 50 MB ou menos.
Atenciosamente,
Sua SZ é ligeiramente a mesma para todos os processos do Apache.
No meu caso eu tenho valores entre 23 e 212 Mb
Qual valor devo usar em sua fórmula?
A propósito, no Apache 2.4 MaxClients foi renomeado para MaxRequestWorkers.
Sua fórmula ainda é válida para este novo parâmetro?
Atenciosamente