Wondering how to resolve Plesk error pool seems busy? We can help you.
This error usually occurs if PHP-FPM pm.max_children reach the limit by the website.
As part of our Server Management Services, we assist our customers with several Plesk queries.
Today, let us see the steps followed by our Support Techs to resolve the error.
Plesk error pool seems busy
Some of the symptoms of the error are as follows.
1.Websites that have PHP handler set as FPM application served by Apache or FPM application served by nginx at Domains > example.com > PHP Settings experience one of the following issues:
- load slowly
- not accessible (permanently or periodically) with a 50x error in a web-browser:
502 Bad Gateway 503 Service Temporarily Unavailable 504 Gateway Time-out
2.The following message appears in the PHP-FPM error logfile /var/log/plesk-phpXX-fpm/error.log (where XX is a PHP version used by the websites):
WARNING: [pool example.com] server reached max_children setting (*), consider raising it
The message above is usually accompanied with this error:
unable to read what child say: Bad file descriptor (9)
3.If nginx is enable on the server, one of the following error messages may appear in domain’s error logfile /var/www/vhosts/system/example.com/logs/proxy_error_log:
[error] 11456#0: *118348 connect() to unix:///var/www/vhosts/system/example.com/php-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 203.0.113.2, server: example.com, request: “GET / HTTP/1.1”, upstream: “fastcgi://unix:///var/www/vhosts/system/example.com/php-fpm.sock:”, host: “example.com” [error] 20058#0: *4725139 upstream prematurely closed connection while reading response header from upstream, client: 203.0.113.2, server: example.com, request: “POST /path/to/some/file HTTP/2.0”, upstream:
How to resolve Plesk error pool seems busy?
Let us see the steps followed by our Support Techs to resolve the error.
It can be resolved by Increasing the pm.max_children limit for the affected domains.
- Firstly, connect to the Plesk server via SSH.
- Then, find affected domains using the command below:
Please note the number on the left indicates how many times the pm.max_children limit has reached by the website.
# grep -r “server reached max_children setting” /var/log/*php*-fpm/error.log | cut -d’ ‘ -f5 | tr -d ‘]’ | sort | uniq -c | sort -nr
100 example.com 50 example.net 25 example.org <…>
- Next, log in to Plesk.
- Next, go to Domains > example.com > PHP Settings > PHP-FPM Settings.
- Finally, increase the pm.max_children value for the domain and apply the changes. Increase this value for all domains listed in step 2.
Other options to increase the pm.max_children limit:
1.Increasing pm.max_children for all domains under a service plan via Plesk
- Log in to Plesk.
- Go to Service Plans > plan_name > PHP Settings tab > PHP-FPM Settings section.
- Increase the pm.max_children value and click Update & Sync.
2.Increasing pm.max_children for one domain via a command-line interface
- Create a php.ini file in domain’s system directory /var/www/vhosts/system/example.com/conf/:
# touch /var/www/vhosts/system/example.com/conf/php.ini
- Open the php.ini file in any text editor (for example, vi editor) and add the following records:
[php-fpm-pool-settings] pm.max_children = 20
- Save the changes and close the file.
- Run the following command to apply the changes:
# /usr/local/psa/bin/php_settings -u
[Need help to fix Plesk error? We’d be happy to assist]
In short, today we saw troubleshooting steps and resolution provided by our Support Techs to resolve the error.