一台服务器上的一个网站会影响不同 php-fpm 池中的其他网站,这让我很困惑。我以为 php-fpm 池提供了隔离功能,可以阻止(减少)这种情况的发生。
我们有一个典型的 LEMP 服务器(Ubuntu 16.04,运行 NGINX,同时带有 php-fpm 7.0 和 5.6。MySQL 在另一个机器上。)运行着许多不同规模的站点。
需要澄清的是,这似乎不是服务器资源问题;CPU、内存、inode、打开文件、网络,我们已经检查了所有能想到的,并且服务器上仍有足够的空间。
这池但资源有限...
/etc/php/5.6/fpm/pool.d/siteone.conf
[siteone]
user = siteone
group = siteone
listen = /var/run/php5.6-fpm-siteone.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 25
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
php_admin_value[error_log] = /var/log/php-fpm/siteone/siteone-php-fpm.log
php_value[newrelic.appname] = "siteone - LIVE"
php_admin_value[upload_max_filesize] = 5M
request_terminate_timeout = 5m
pm.max_requests = 5000
然而,当一个站点达到 maxchildren 时,所有站点都会开始超时。
请提供任何建议。
先感谢您。