Como efetivamente ter menos processos php-cgi em execução?

2

Meu servidor é um Linode 512, e nele eu executo um Wordpress MU com 3 sites (eles não recebem muitos visitantes) e um par de aplicativos NodeJS.

Eu preciso mudar para o Lighttpd porque o Apache 2 estava usando cerca de 59% da RAM do servidor, e agora eu tenho os processos php-cgi ocupando cerca de 43,6% da RAM do servidor:

  • na maioria das vezes, 2 processos usam 16,5% da RAM,
  • 4 processos usam 1,8% da RAM cada e
  • mais 4 processos usam 0,8% da RAM, cada

Como posso ter menos desses processos? Tenho quase certeza de que nem todos são necessários para o tráfego que esse servidor recebe ...

Eu tentei apenas permitir 2 filhos, mas ainda tenho esses 10 ... Esta é a minha seção fastcgi.server no lighttpd.conf.

fastcgi.server = ( ".php" =>
                    ( "localhost" =>
                      (
                        "socket" => "/var/run/lighttpd/php-fastcgi.socket",
                        "bin-path" => "/usr/bin/php-cgi",
                        "bin-environment" => (
                          "PHP_FCGI_CHILDREN" => "2",
                          "PHP_FCGI_MAX_REQUESTS" => "4000"
                         )
                      )
                    )
                  )

O que mais posso fazer para ajustar o lighttpd para usar menos memória RAM?

    
por João Pinto Jerónimo 10.02.2012 / 23:34

2 respostas

3

Se você definir bin-path, o lighttpd será responsável por gerar processos fcgi, limitados por:

"max-procs" => <integer>,             # optional - when omitted, default is 4

A variável de ambiente PHP_FCGI_CHILDREN é uma dica adicional ao executável do php para gerar internamente mais processos, você pode configurá-lo para zero.

Você não especifica o max-procs então existem 4 procs gerados pelo lighty e cada um deles tem dois childrens adicionais - 4 [max-procs] * (1 + 2 [PHP_FCGI_CHILDREN]).

    
por 11.02.2012 / 00:05
1

Confira a documentação a> em relação ao php-cgi. Parece que você pode precisar definir a diretiva max-procs para limitar o número total de processos filhos.

    
por 11.02.2012 / 00:05