php-fpm: hundreds of seconds in the log

"Seconds" is a unit of time; 321 of them is a little over five minutes.

The reason your processes are exiting and respawning is that you have set the pm.max_requests option in your php-fpm pool configuration file.

For example, taken from the default configuration:

; 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

We can see in your configuration that it is set to 100, thus php-fpm recycles the process after it has processed 100 requests.


What does your max_requests setting say? If this is a busy website, it's likely recycling its child processes once it hits that number of requests - unless it says 0, in which case it could be hitting an internal timeout and closing child processes to save memory during quiet times. I know the FastCGI processor for IIS does this; it's likely the same situation here.

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

EDIT: Then that's what's happening. As soon as one child hits 100 requests, it closes. PHP-FPM will then open a new one when it is needed (which could be immediately).