我正试图解决这个问题在基于VPS Debian的8GB内存 – 2vCores
检查/var/log/php7.0-fpm.log我有这么多的行
WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 0 idle, and 7 total children
这是我的/etc/php/7.0/fpm/pool.d/www.conf
pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 ;pm.process_idle_timeout = 10s; pm.max_requests = 200
任何人都可以帮我解决这个问题?
我已经增加了价值
pm.max_children = 100 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pm.max_requests = 500
在错误日志上我继续收到
[06-Oct-2016 16:35:08] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4 idle, and 17 total children
出现错误时,PHP-FPM需要启动新的subprocess来处理请求,而不是使用现有的请求。
发生这种情况是因为在池configuration中设置的数字非常小。
数字表示您允许最多同时运行10个PHP进程。 你从2个孩子开始,只有一个最servlets器准备好随时为请求服务。 如果您的网站上有空闲时间,那么PHP-FPM将closures空闲进程,以便最多三个进程联机准备好处理请求。
我会乘以pm.max_children , pm.start_servers ,pm.min_spare_servers and ps.max_spare_servers`每个数字5,这将是一个合适的起始数字。
然后,您可以只监视您的stream量,并检查是否再次出现这些错误,然后相应地调整数字。