The main issue appears to have been that PHP-FPM was configured to run only five PHP processes at the same time. This does not mean that only five visitors could use the site. Each process handles a PHP request, finishes it, and then immediately becomes available for the next request.
Most visitors only occupy a PHP process for a fraction of a second while the page is being generated. Static files such as images, CSS and JavaScript are normally served separately by Apache.
Problems occur when several PHP requests become slow or get stuck. If all available PHP processes are occupied, new page requests must wait in a queue, making the site appear to have frozen.
The following changes have now been made:
- The maximum number of simultaneous PHP processes