Page tree
Skip to end of metadata
Go to start of metadata

For cPanel & WHM version 68

Overview

Apache servers that use the prefork MPM and allow fewer server instances than the maximum number of PHP-FPM child processes may experience performance issues. This document explains how to resolve this dependency issue.

Important:

The issue and solution only apply to servers that run Apache's prefork MPM.

The issue

In the following scenario, the PHP-FPM server's configuration allows a maximum of 20 PHP-FPM child processes and the Apache server's configuration allows five server instances.

The following example represents the PHP-FPM server's configuration file:

_is_present: 1
pm_max_children: 20
pm_max_requests: 20

The following example represents the Apache server's configuration file:

StartServers: 5
<IfModule prefork.c>
MinSpareServers: 10
MaxSpareServers: 10
</IfModule>

If the Apache server receives 20 requests, it immediately passes five of those requests to the available PHP-FPM child processes. After PHP-FPM processes those requests, Apache will pass another five requests to PHP-FPM.

For high-volume servers, this will cause severe performance issues.

The solution

To solve this issue, you must configure Apache to allow enough server instances to handle the maximum number of PHP-FPM child processes.

Set the Start Servers option in WHM's Global Configuration interface (WHM >> Home >> Service Configuration >> Apache Configuration >> Global Configuration) to a value greater than or equal to the pm_max_children setting in WHM's MultiPHP Manager for WHM interface (WHM >> Home >> Software >> MultiPHP Manager).

Additional documentation