Sobre o parâmetro MPM Prefork MaxClient no servidor de 256M de RAM

2

Eu tenho uma pergunta sobre a configuração do Apache MPM Prefork em servidores VPS.

Um dos artigos do host de fatia, eles sugerem configurar o MaxClients para 40 se eu tiver 256MB de RAM no meu servidor virtual. ( link )

No entanto, como cada solicitação do cliente usa aproximadamente 50 MB de memória RAM, a troca é garantida e meu VPS fica mais lento.

  PID   RSS COMMAND
10146 45944 /usr/sbin/apache2 -k start
10147 52528 /usr/sbin/apache2 -k start
10150 49680 /usr/sbin/apache2 -k start
10151 48756 /usr/sbin/apache2 -k start

Descobri que, se eu definir MaxClients como 4 (!), não obtenho nenhuma troca, e o servidor da Web deve ser mais rápido (ou estou errado?)

Então, eu não entendo por que eles sugerem 40.

obrigado

    
por aneuryzm 05.11.2010 / 12:30

2 respostas

1

A quantidade de MaxClients que você pode ter depende da natureza do seu site.

Se você está servindo principalmente conteúdo estático, o Apache não usa muita memória e 40 (ou mais) podem ser definidos como MaxClients.

Por outro lado, se você tem alguma coisa pesada com memória acontecendo (por exemplo, você executa um CMS como o Drupal ou um blog com o WordPress ), os requisitos de memória por processo aumentam drasticamente e assim diminui o valor de MaxClients que você pode ter. Com essas pesadas aplicações PHP, um único processo pode consumir facilmente qualquer coisa entre 10 e ??? megabytes de RAM.

    
por 05.11.2010 / 12:44
0

Eles provavelmente sugerem isso, porque 50 MB de memória por solicitação não é algo comum.

Você provavelmente deve verificar se pode se livrar de qualquer módulo que esteja usando. Também verifique se você pode mover qualquer mod_ (como mod_php) para fcgid.

Depois de fazer isso, você provavelmente terá apenas módulos thread-safe e poderá alternar com segurança para o MPM do trabalhador, o que provavelmente resolverá todos os seus problemas de desempenho.

    
por 05.11.2010 / 12:48