php-fpm:日志中的数百秒

我有nginx + php-fpm web服务器

所以我注意到在php5-fpm.log中有很多奇怪的行:

[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 

任何人都可以告诉我, after 321.722533 seconds from start ,这些秒钟是什么时候,这是什么意思?

UPD

我的configuration是:

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

“秒”是一个时间单位; 其中321人超过五分钟 。

您的进程退出和重新生成的原因是您已经在php-fpm池configuration文件中设置了pm.max_requests选项。

例如,取自默认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 

我们可以在你的configuration中看到它被设置为100 ,因此php-fpm在处理了100个请求之后重新处理这个进程。

你的max_requests设置是什么意思? 如果这是一个繁忙的网站,它可能会回收它的subprocess,一旦它达到了这么多的请求 – 除非它说0,在这种情况下,它可能是内部超时和closuressubprocess,以节省内存在安静的时间。 我知道IIS的FastCGI处理器是这​​样做的; 这里可能是同样的情况。

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

编辑:那就是发生了什么事。 一旦有一个孩子碰到100个请求,它就会closures。 PHP-FPM将在需要的时候打开一个新的(可以立即)。