Lighttpd: PHP_FCGI_CHILDREN valor correto

1

Estou executando o Lighttpd em 256 MB de RAM VPS (com baixo tráfego estimado).

Para otimizar o desempenho do meu servidor, decidi alterar essas configurações:

                    "PHP_FCGI_CHILDREN" => "1",
                    "PHP_FCGI_MAX_REQUESTS" => "20"

A razão pela qual eu defini 1 filho é que, com a configuração, existem 4 processos php_cgi:

2413 11336 / usr / bin / php-cgi  2415 4592 / usr / bin / php-cgi  2417 11336 / usr / bin / php-cgi  2419 27656 / usr / bin / php-cgi

Se eu definir 4, recebo > 8 filhos. Eu estou me perguntando por que e se isso é ok. Agora meu servidor é muito rápido, porque eu finalmente não confio em trocar tão maciçamente como antes.

obrigado

    
por aneuryzm 09.11.2010 / 17:52

2 respostas

2

Como você pode ver nesta FAQ existem três opções de configuração que controlam o número de processos mod_php.

  • PHP_FCGI_CHILDREN (o padrão é 1)
  • max-procs (o padrão é 4)
  • min-procs (ignorado nas versões atuais)

A fórmula para calcular os processos inicialmente gerados é semelhante a:

no_of_procs = max-procs * ( PHP_FCGI_CHILDREN + 1) 

Isso significa que, para todos os processos em max-procs launch PHP_FCGI_CHILDREN workers, um processo do Guardian para cada pai em max-procs .

    
por 09.11.2010 / 18:19
0

Para novas instâncias de lighttpd, você deve definir PHP_FCGI_CHILDREN como 0 e controlar o número de instâncias geradas.

Isso pode ajudar a reduzir o número de processos totais em execução, pois não é necessário haver processos master extras. No entanto, se você estiver usando um cache bytecode, defina apenas 1 processo mestre gerado e controle os filhos abaixo dele.

Defina PHP_MAX_REQUESTS como 500 para evitar outro potencial problema.

    
por 10.11.2010 / 08:51