PHP-FPM executes PHP separately from the web server, in pools of worker processes — typically one pool per account, each with its own user and limits, which keeps accounts isolated.
Each pool’s pm.max_children caps how many PHP requests can run simultaneously for that site; an exhausted pool means that one site hangs while others are fine. Per-pool monitoring answers the eternal “which site is eating the server” for the PHP side of the story.
Frequently asked questions
Why does one site hang while others work?
Usually that site’s FPM pool hit its pm.max_children — slow queries or heavy traffic occupy all its workers while other pools stay free.
What happens when I have several PHP versions?
Each version runs its own FPM service with its own pools; restarting “PHP” correctly means restarting all of them, which good tooling does for you.