php-fpm: cientos de segundos en el registro

12

Tengo un servidor web nginx + php-fpm

Entonces noté en php5-fpm.log muchas líneas extrañas:

[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

¿Alguien puede decirme cómo son estos segundos after 321.722533 seconds from starty qué significa?

UPD

Mi config es:

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
fuente

Respuestas:

20

"Segundos" es una unidad de tiempo; 321 de ellos son poco más de cinco minutos .

La razón por la que sus procesos están saliendo y reapareciendo es porque ha configurado la pm.max_requestsopción en el archivo de configuración de su grupo php-fpm.

Por ejemplo, tomado de la configuración predeterminada:

; 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 en su configuración que está configurado 100, por lo que php-fpm recicla el proceso después de que haya procesado 100 solicitudes.

Michael Hampton
fuente
Por lo tanto, solo significa que el hilo de hormigón vivió 321segundos y se reaparecerá. No puedo prestarle atención?
Lari13
1
Puedes ignorar estos mensajes; son inofensivos y puramente informativos.
Michael Hampton
Estas entradas de registro se pueden evitar elevando el log_levelparámetro php-fpm.confdesde notice(ese es quizás el valor predeterminado) awarning
Paolo
2

¿Qué dice tu max_requestsentorno? Si este es un sitio web ocupado, es probable que esté reciclando sus procesos secundarios una vez que alcanza ese número de solicitudes, a menos que diga 0, en cuyo caso podría estar llegando a un tiempo de espera interno y cerrando procesos secundarios para ahorrar memoria durante los momentos de silencio. Sé que el procesador FastCGI para IIS hace esto; Es probable que sea la misma situación aquí.

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

EDITAR: Entonces eso es lo que está sucediendo. Tan pronto como un niño llega a 100 solicitudes, se cierra. PHP-FPM abrirá uno nuevo cuando sea necesario (que podría ser inmediatamente).

Aaron Mason
fuente
pm.max_requests = 100en mi config. Plase, ver actualización
Lari13