Symptoms
An error like the following is being reported in the log file '/usr/local/cpanel/logs/php-fpm/error.log' for the cPanel internal PHP-FPM service.
WARNING: [pool user_cpaccount] server reached max_children setting (25), consider raising it
Description
This error occurs when an account user reaches the max_children setting for cPanel's internal PHP-FPM service. This is most commonly seen as a result of high usage for interface services like PhpMyAdmin or Webmail.
This does not relate to the PHP-FPM service used by Apache or the user's domains. If you are seeing a similar error for a domain in the EA4 PHP-FPM logs, please see the following article instead.
PHP-FPM Performance Tuning Basics
Workaround
Permanent
There is no method in which to increase this the max_children limit for an account user in the cPanel internal PHP-FPM. You can only prevent these errors permanently by disabling PHP-FPM for the cPanel services internal PHP.
To disable PHP-FPM for the cPanel internal PHP, you will first need to navigate to the WHM interface "Home »Service Configuration »Service Manager". Once inside this interface you will need to de-select the checkboxes next to service labeled 'PHP-FPM service for cPanel Daemons'.
When set for disabled it will appear unchecked:
Once set to disabled, you will need to scroll to the bottom of the page to click the button "Save" to apply the change.
Temporary
If you do not wish to disable PHP-FPM for the cPanel Daemons, you can temporarily raise the max_children limit in the configuration files. It is important to note that this change will not be permanent. System reboots will undo any changes to these files.
If you wish to make such a change, the user configuration files are located within '/var/cpanel/php-fpm.d/'. These follow the below format and contain the pool settings within.
/var/cpanel/php-fpm.d/username.conf
After editing the value in the desired configuration, you would need to apply the change by restarting the FPM service.
/scripts/restartsrv_cpanel_php_fpm
Alternatively, you can modify this value in the template used to build these configurations. This would ensure this persists until a cPanel update modifies the template. This will cause all configuration files within /var/cpanel/php-fpm.d to use the specified settings until the changes are overwritten during a cPanel update.
/usr/local/cpanel/src/templates/cpanel_php_fpm/user.default
While you can exclude this template from cPanel updates in the future, this could result in conflicts during future updates if the template is expected to be changed. For more information on this topic, please see the following article.
How can I exclude cPanel files from updates?
There is also an open feature request to add a supported method for changing this setting. You may want to vote on this and submit any feedback that you think our developers might find helpful.
Configure a global default value for php-fpm max_children for all accounts
Comments
0 comments
Article is closed for comments.