到达process_idle_timeout后,PHP-FPM进程不会死亡

时间:2017-12-11 16:56:13

标签: php nginx devops

我的服务器上有一个nginx + php-fpm的设置。

FPM的池配置如下所示:

[www]
user                        = root
group                       = root
listen                      = /run/php-fpm.sock
listen.owner                = root
listen.group                = root

pm                          = ondemand
pm.max_children             = 50
pm.process_idle_timeout     = 10s
pm.max_requests             = 500
pm.status_path              = /server-status

catch_workers_output        = yes

我的第一个期望是,除非有传入的请求,否则不会启动子php-fpm个进程。不幸的是,当我开始php-fpm时,我立即看到了两个过程:

10 ?        S      0:00 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf)
37 ?        S      0:00 php-fpm: pool www

因此,出于某种原因,一个进程是预先分叉的。

我的第二个期望是所有超过10秒的进程都将被终止。我运行一个测试,导致创建13个进程。大约1分钟后(不再执行请求)大约5个进程空转。为什么会这样?

0 个答案:

没有答案