Overview

Plesk uses the PHP FastCGI Process Manager (FPM) to manage PHP processes per website. Compared to the older FastCGI, this allows for greater isolation and control when there are multiple sites on the one server. By default, Plesk allocates 5 FPM "children" per website, meaning at any one time your website can be concurrently processing 5 different requests without any delays. Generally on systems where caching is configured or the site is light

However, if the site is an eCommerce platform, high traffic (more than a few thousand users per day) or has a high degree of interactivity then this default may not be sufficient. You can confirm this resource limit is being hit by looking at the Plesk error logs and seeing the following: 

WARNING: [pool <yourwebsite>] server reached max_children setting (5), consider raising it

If your site isn't overly busy or isn't highly interactive, our first suggestion is to review your website code for issues and any tasks which are reliant on external web calls to render the website. In 90% of cases we've investigated, hitting this limit is a symptom not the cause of issues.

After completing a site review or if your site is eCommerce driven, you can follow the instructions below to increase the FPM limits per site.

Note: Increasing this limit will require additional memory and possibly additional CPU resources. Ensure you have sufficient resource overhead before proceeding.

Instructions

  1. Login to your Plesk VPS.
  2. Select the domain you're hitting FPM limits for: 
  3. Go to PHP Settings:
  4. Scroll down the bottom to the PHP-FPM settings and increase the limit for pm.max_children:

    Note: We recommend small increments, eg 5 -> 10 and then increase again if there are still issues.
  5. Click OK to apply.
     
  6. Monitor the logs and server resources to ensure you're not hitting any limits nor seeing any further errors.

Was this article helpful?

Related Articles