即使没有达到限制,php fpm也会产生新的孩子

我的PHP fpm过程给了我下面的警告:

[2014年4月29日13时06分10秒]警告:[池www]似乎很忙(你可能需要增加pm.start_servers,或pm.min / max_spare_servers),产卵8个孩子,有19个闲置,51儿童[29-Apr-2014 13:07:09]警告:[池www]似乎很忙(你可能需要增加pm.start_servers或pm.min / max_spare_servers),产卵8个孩子,有14个空闲,47总共孩子[29-Apr-2014 13:07:10]警告:[池www]似乎很忙(你可能需要增加pm.start_servers或pm.min / max_spare_servers),产生16个孩子,有17个空闲,总共53个孩子[29-Apr-2014 13:07:11]警告:[pool www]似乎很忙(你可能需要增加pm.start_servers或者pm.min / max_spare_servers),产生32个孩子,还有14个空闲,和56个孩子[29-Apr-2014 13:07:12]警告:[池www]似乎很忙(你可能需要增加pm.start_servers或pm.min / max_spare_servers),产卵32个孩子,有19个空闲,总共有62个孩子[29-Apr-2014 13:07:13]警告:[pool www]似乎 (可能需要增加pm.start_servers或pm.min / max_spare_servers),产生32个孩子,有18个空闲,共63个孩子[29-Apr-2014 13:07:14]警告:[pool www ]似乎很忙(你可能需要增加pm.start_servers或pm.min / max_spare_servers),产生32个孩子,有19个空闲,总共65个孩子[29-Apr-2014 13:07:15]警告:[pool www]似乎很忙(你可能需要增加pm.start_servers或pm.min / max_spare_servers),产生32个孩子,有18个空闲,共66个孩子[29-Apr-2014 13:07:16]警告:池www]似乎很忙(你可能需要增加pm.start_servers或pm.min / max_spare_servers),产卵32个孩子,有16个空闲,68个孩子[29-Apr-2014 13:07:23]警告: [池www]似乎很忙(你可能需要增加pm.start_servers,或pm.min / max_spare_servers),产卵8个孩子,有14个空闲,80个孩子[29-Apr-2014 13:07:24]警告:[池www]似乎很忙(你可能需要增加pm.start_serv ers或pm.min / max_spare_servers)产生16个孩子,有19个空闲,总共有86个孩子[29-Apr-2014 13:07:25]警告:[pool www]似乎很忙(你可能需要增加pm .start_servers或pm.min / max_spare_servers),产生32个孩子,有19个空闲,总共有87个孩子

我的fpm.conf是:

pm.max_children = 161 pm.start_servers = 20 pm.min_spare_servers = 20 pm.max_spare_servers = 40 pm.max_requests = 1000 

我的问题是

  1. 为什么即使我没有达到最大孩子价值,孩子们也会产卵? 是否因为有额外的交通,因为闲置的孩子需要达到最less20个,不能用完?

  2. 这是在我的系统上创build一个开销吗?

为什么即使我没有达到最大孩子价值,孩子们也会产卵?

因为这是最大的。 一旦达到最大值,就不会创build更多的内容,但是直到PHP-FPM需要额外容量时才会添加工作。 使用您的设置,您将始终拥有至less20台服务器(不超过161台),而当less于20台服务器处于空闲状态时,FPM将添加服务器,并且在超过40台服务器处于空闲状态时移除服务器。

你有pm.min_spare_servers = 20 ,并且它在20个空闲子级限制之下,并且产生更多的回到min_spare_servers的数量。 降低这个以减less它发生的频率。 这是为了抵消负载峰值,并有足够的孩子来满足需求。