Não é possível otimizar o php5-fpm para funcionar sem erros

4

Eu instalei o ngix + php5-fpm. Estou feliz com isso, mas não posso otimizar o php5-fpm para que ele funcione sem erros. Cada erro fixo cria um erro diferente.

Primeiro, tive as configurações padrão que causam muitos erros:

[04-Jun-2012 03:30:06] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

Eu aumentei todos os números:

pm.max_children = 15
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 5
;pm.max_requests = 500

Isso causou um erro diferente:

[28-Feb-2013 07:45:06] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 18 idle, and 28 total children

Eu aumentei todos os números novamente:

pm.max_children = 70
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 35
;pm.max_requests = 500

Isso causou o preenchimento do arquivo de log com isto:

[28-Feb-2013 13:21:55] NOTICE: [pool www] child 21868 exited with code 0 after 4171.293476 seconds from start
[28-Feb-2013 13:21:55] NOTICE: [pool www] child 23962 started

Eu não comentei:

pm.max_requests = 500

Eu tive os mesmos erros, mas não com tanta frequência - a cada 5 minutos:

[28-Feb-2013 13:21:55] NOTICE: [pool www] child 21868 exited with code 0 after 4171.293476 seconds from start
[28-Feb-2013 13:21:55] NOTICE: [pool www] child 23962 started

Eu aumentei novamente:

pm.max_requests = 1000

Agora tenho esse erro de 2 a 3 vezes por hora, mas ainda persiste.

Eu aumentaria esse número novamente, mas acho que meu servidor (websites) funciona um pouco mais lento do que os sites hospedados em outro servidor com configurações: pm.max_children = 15, pm.start_servers = 5, pm.min_spare_servers = 3, pm .max_spare_servers = 5. (provavelmente é apenas um problema de rede, não sei).

Eu pesquisei no Google e neste site e sei como calcular o pm.max_children (depende da RAM). Mas eu não consigo encontrar nenhuma informação como calcular:

    pm.start_servers
    pm.min_spare_servers
pm.max_spare_servers
    pm.max_requests

Alguém pode ajudar?

uptime
 13:55:39 up 16:40,  2 users,  load average: 0.13, 0.14, 0.16


free -m
             total       used       free     shared    buffers     cached
Mem:         24101       3783      20318          0        151       3039
-/+ buffers/cache:        592      23509
Swap:         7811          0       7811

Eu não mudei nada nos arquivos de configuração do nginx.

    
por user1821484 28.02.2013 / 15:05

2 respostas

2

Como diz o log [NOTICE] : isso é informativo e não é um erro . Estes estão marcados com [ERROR] .

Em suma: nada para se preocupar . É como se o seu filho dissesse que eles apagaram a luz da cozinha.

Se ele diz [WARNING] , isso é algo que você deve tomar, como na sua primeira resposta, aumentando os limites.

    
por 08.04.2017 / 13:55
0

Altere o php-fpm para o modo dinâmico. Dessa forma, o php-fpm decide automaticamente quando gerar novos filhos. É deve ter se você estiver usando e tipo de caches opcode, porque crianças mortas por força aumentam a fragmentação em PHP-APC

    
por 28.10.2013 / 00:27

Tags