php-fpm: centinaia di secondi nel registro


12

Ho un server web nginx + php-fpm

Quindi ho notato in php5-fpm.log molte strane righe:

[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

Qualcuno può dirmi, come sono questi secondi after 321.722533 seconds from starte cosa significa?

UPD

La mia configurazione è:

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

Risposte:


20

"Seconds" è un'unità di tempo; 321 di loro sono poco più di cinque minuti .

Il motivo per cui i processi sono in uscita e rigenerati è che hai impostato l' pm.max_requestsopzione nel file di configurazione del pool php-fpm.

Ad esempio, tratto dalla configurazione predefinita:

; 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

Possiamo vedere nella vostra configurazione che si è impostato 100, quindi php-fpm ricicla il processo dopo aver elaborato 100 richieste.


Quindi, significa solo che il filo di cemento ha vissuto 321pochi secondi e verrà rigenerato. Non posso prestarci attenzione?
Lari13

1
Puoi ignorare questi messaggi; sono innocui e puramente informativi.
Michael Hampton

Queste voci di registro possono essere evitate aumentando il log_levelparametro php-fpm.confda notice(che è forse il valore predefinito) awarning
Paolo

2

Cosa dice la tua max_requestsimpostazione? Se si tratta di un sito Web molto frequentato, è probabile che ricicli i suoi processi figlio una volta che ha raggiunto quel numero di richieste, a meno che non dica 0, nel qual caso potrebbe colpire un timeout interno e chiudere i processi figlio per risparmiare memoria durante i periodi di silenzio. So che il processore FastCGI per IIS lo fa; è probabilmente la stessa situazione qui.

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

EDIT: Quindi è quello che sta succedendo. Non appena un bambino risponde a 100 richieste, si chiude. PHP-FPM ne aprirà uno nuovo quando sarà necessario (che potrebbe essere immediatamente).


pm.max_requests = 100nella mia configurazione. Per favore, vedi aggiornamento
Lari13
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.