Aumentando o uso de mem pelo php-fpm?

3

Parece que o php-fpm está alocando mais e mais memória, apesar de picos e quedas na quantidade de pedidos. Não foi possível postar mais de uma imagem, então coloquei aqui .

Como você pode ver no uri das fotos, uma delas faz uma solicitação nginx, mostrando quedas e picos claros. Os outros, que são memória php-fpm e memória média por criança, não parecem seguir o mesmo padrão. Apenas uma reinicialização do php-fpm terá efeito, e mesmo assim não posso dizer que notei qualquer alteração no desempenho.
O sistema está bem, o tempo de resposta está bom e tudo está bem, apenas curioso se este é o comportamento esperado, e se ele tem benefícios de desempenho ou deve ser evitado (diminuindo max_requests ou algo assim?).

O sistema está executando Debian GNU / Linux 6.0 Squeeze, AMD64. Versão do PHP 5.3.6. PHP 5.3.6


pool.d / www.conf:

pm.max_children = 50
pm.start_servers = 30
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 1024


Eu obtive estes em php-fpm.log desde que foi instalado recentemente:

[28-Jun-2011 14:45:39] WARNING: [pool www] child 1893 exited on signal 9 (SIGKILL) after 22296.217811 seconds from start
[28-Jun-2011 14:45:39] NOTICE: [pool www] child 18391 started
[28-Jun-2011 14:45:39] WARNING: [pool www] child 1903 exited on signal 9 (SIGKILL) after 22296.213677 seconds from start
[28-Jun-2011 14:45:39] NOTICE: [pool www] child 18392 started
[28-Jun-2011 14:45:39] WARNING: [pool www] child 1904 exited on signal 9 (SIGKILL) after 22296.213757 seconds from start
[28-Jun-2011 14:45:39] NOTICE: [pool www] child 18393 started
[28-Jun-2011 14:45:39] WARNING: [pool www] child 1905 exited on signal 9 (SIGKILL) after 22296.214307 seconds from start
[28-Jun-2011 14:46:20] NOTICE: fpm is running, pid 18410
[28-Jun-2011 14:46:20] NOTICE: ready to handle connections
[28-Jun-2011 15:10:04] NOTICE: Terminating ...
[28-Jun-2011 15:10:04] NOTICE: exiting, bye-bye!
[28-Jun-2011 15:10:04] NOTICE: fpm is running, pid 1742
[28-Jun-2011 15:10:04] NOTICE: ready to handle connections
[28-Jun-2011 15:10:22] NOTICE: Terminating ...
[28-Jun-2011 15:10:22] NOTICE: exiting, bye-bye!
[28-Jun-2011 15:10:22] NOTICE: fpm is running, pid 2016
[28-Jun-2011 15:10:22] NOTICE: ready to handle connections
[28-Jun-2011 15:28:04] NOTICE: Terminating ...
    
por 3molo 29.06.2011 / 12:28

2 respostas

2

Algumas ideias:

  1. Reduza as configurações do fpm e aumente conforme necessário:

    pm.max_children = 10 # concurrent children's
    pm.start_servers = 2
    pm.min_spare_servers = 2
    pm.max_spare_servers = 4
    pm.max_requests = 300 # till restart
  2. Reduza as configurações do nginx.

  3. Instale pecl-apc (o pacote Debian é php5-apc ).

  4. Atualize sua versão do php / nginx para o mais recente estável

Qual é a especificação do seu servidor?

    
por 12.03.2012 / 01:32
1

Verifique quanta RAM você tem de sobra (talvez pare o php-fpm para calcular isso) e a quantidade de memória que um processo php-fpm normalmente leva para sua webapp (veja em top ou ps ) e defina pm .max_children = RAM / php-fpm processam RAM, caso contrário você ficará sem memória.

    
por 04.04.2014 / 23:09