php-fpm: centenas de segundos no log

12

Eu tenho o servidor da web nginx + php-fpm

Então eu notei no php5-fpm.log muitas linhas estranhas:

[03-Sep-2013 09:25:23] NOTICE: [pool www] child 23999 exited with code 0 after 321.832329 seconds from start
[03-Sep-2013 09:25:23] NOTICE: [pool www] child 24082 started
[03-Sep-2013 09:25:41] NOTICE: [pool www] child 24032 exited with code 0 after 259.247887 seconds from start
[03-Sep-2013 09:25:41] NOTICE: [pool www] child 24083 started
[03-Sep-2013 09:25:47] NOTICE: [pool www] child 24033 exited with code 0 after 255.954602 seconds from start
[03-Sep-2013 09:25:47] NOTICE: [pool www] child 24084 started
[03-Sep-2013 09:25:50] NOTICE: [pool www] child 24014 exited with code 0 after 327.620462 seconds from start
[03-Sep-2013 09:25:50] NOTICE: [pool www] child 24085 started
[03-Sep-2013 09:25:55] NOTICE: [pool www] child 24034 exited with code 0 after 254.974653 seconds from start
[03-Sep-2013 09:25:55] NOTICE: [pool www] child 24086 started
[03-Sep-2013 09:26:01] NOTICE: [pool www] child 24035 exited with code 0 after 253.388234 seconds from start
[03-Sep-2013 09:26:01] NOTICE: [pool www] child 24087 started
[03-Sep-2013 09:26:02] NOTICE: [pool www] child 24036 exited with code 0 after 251.374430 seconds from start
[03-Sep-2013 09:26:02] NOTICE: [pool www] child 24088 started
[03-Sep-2013 09:26:05] NOTICE: [pool www] child 24019 exited with code 0 after 325.601766 seconds from start
[03-Sep-2013 09:26:05] NOTICE: [pool www] child 24089 started
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24037 exited with code 0 after 255.871955 seconds from start
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24090 started
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24038 exited with code 0 after 255.884311 seconds from start
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24091 started
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24039 exited with code 0 after 254.826181 seconds from start
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24092 started
[03-Sep-2013 09:26:12] NOTICE: [pool www] child 24040 exited with code 0 after 256.232759 seconds from start
[03-Sep-2013 09:26:12] NOTICE: [pool www] child 24093 started
[03-Sep-2013 09:26:14] NOTICE: [pool www] child 24027 exited with code 0 after 321.722533 seconds from start

Alguém pode me dizer, como são esses segundos after 321.722533 seconds from starte o que isso significa?

UPD

Minha configuração é:

pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 100
Lari13
fonte

Respostas:

20

"Segundos" é uma unidade de tempo; 321 deles tem pouco mais de cinco minutos .

A razão pela qual seus processos estão saindo e reaparecendo é que você definiu a pm.max_requestsopção no arquivo de configuração do pool php-fpm.

Por exemplo, retirado da configuração padrão:

; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
pm.max_requests = 500

Podemos ver na sua configuração como está definido 100, assim o php-fpm recicla o processo depois de processar 100 solicitações.

Michael Hampton
fonte
Portanto, isso significa apenas que o fio de concreto 321permaneceu segundos e será reaparecido. Eu não posso prestar atenção nisso?
Lari13
1
Você pode ignorar essas mensagens; eles são inofensivos e puramente informativos.
Michael Hampton
Estas entradas de log podem ser evitados através do aumento do log_levelparâmetro php-fpm.confde notice(que é o valor padrão, talvez) parawarning
Paolo
2

O que diz a sua max_requestsconfiguração? Se esse é um site ocupado, é provável que você recicle seus processos filhos uma vez que atinja esse número de solicitações - a menos que diga 0, caso em que pode estar atingindo um tempo limite interno e fechar processos filhos para economizar memória durante os períodos de silêncio. Eu sei que o processador FastCGI para IIS faz isso; provavelmente é a mesma situação aqui.

Src: http://php-fpm.org/wiki/Configuration_File

EDIT: Então é isso que está acontecendo. Assim que uma criança recebe 100 solicitações, ela fecha. O PHP-FPM abrirá um novo quando for necessário (o que pode ser imediato).

Aaron Mason
fonte
pm.max_requests = 100na minha configuração. Por favor, veja a atualização
Lari13