PHP-FPM Monitoring
Monitor PHP-FPM process pools, slow requests, memory usage, and worker states in real time with zero configuration.
Why monitor PHP-FPM?
PHP-FPM (FastCGI Process Manager) handles PHP request processing for millions of web applications. Monitoring PHP-FPM is essential to detect slow scripts, manage process pool sizing, prevent memory exhaustion, and maintain application responsiveness.
What we monitor
Active Processes
Currently processing PHP requests.
Idle Processes
Workers waiting for requests.
Slow Requests
Requests exceeding slow_log threshold.
Listen Queue
Requests waiting for a free worker.
Max Children Reached
Times process limit was hit.
Memory per Process
Average memory per PHP-FPM worker.
Request Duration
Average request processing time.
Total Processes
Total spawned PHP-FPM workers.
Configurable alert triggers
Set up custom triggers in your dashboard to get notified the moment PHP-FPM metrics cross your defined thresholds.

Slow Requests
warningFires when slow request count exceeds threshold.
Listen Queue
criticalTriggers when requests are queuing, indicating insufficient workers.
Max Children
criticalAlerts when process limit is reached repeatedly.
Memory Usage
warningFires on high per-process memory usage.
Active Processes
warningTriggers when all workers are busy.
Importance of PHP-FPM Monitoring
PHP powers 77% of websites. Without monitoring, slow scripts, memory leaks, and worker exhaustion can bring applications to a halt.
- Detect slow PHP scripts before they impact users
- Right-size process pools based on real data
- Prevent memory exhaustion from leaky scripts
- Monitor listen queue to avoid request drops


Why Choose Xitoring
Seamless PHP-FPM monitoring with zero-config setup and multi-pool support.
- One-command install
- Multi-pool monitoring support
- Unified dashboard
- Multi-channel alerting
- Historical data retention


Prerequisites for PHP-FPM
Make sure you've got these in place — most installs are a 60-second job once they are.
- PHP-FPM with
pm.status_path = /fpm/statusandping.path = /fpm/pingset in the pool config - The status URL accessible from localhost (via Nginx/Apache fastcgi_pass)
- Read access to PHP-FPM logs and pool config
Get started in minutes
Install Xitogent on your web server
Install the lightweight Xitogent monitoring agent on the host running PHP-FPM.
curl -s https://xitoring.com/install.sh | sudo bash -s -- --key=YOUR_API_KEYEnable the PHP-FPM status page
Set `pm.status_path = /fpm/status` and `ping.path = /fpm/ping` in your pool config (typically `/etc/php/X.Y/fpm/pool.d/www.conf`). Add a fastcgi_pass location block in Nginx (or equivalent for Apache) to expose the path to localhost, then reload PHP-FPM and verify the URL responds.
# In your PHP-FPM pool config (e.g. /etc/php/8.x/fpm/pool.d/www.conf)
pm.status_path = /fpm/status
ping.path = /fpm/ping
# Then in Nginx, expose them to localhost:
location ~ ^/fpm/(status|ping)$ {
allow 127.0.0.1;
deny all;
fastcgi_pass unix:/var/run/php-fpm/www.sock;
include fastcgi_params;
}Enable the PHP-FPM integration
Use the Xitoring dashboard or CLI to enable the PHP-FPM integration. Xitogent auto-detects every FPM pool on the host and tracks them independently.
sudo xitogent integrateConfigure alert thresholds (optional)
Set custom thresholds for Slow Requests, Listen Queue, or Max Children Reached to catch performance regressions and pool exhaustion before users feel them.
Verify it's working
Run this command on the server to confirm Xitogent picked up the integration. Fresh metrics will start streaming to your dashboard within ~30 seconds.
sudo xitogent statusConsidering alternatives?
See how Xitoring stacks up against the alternatives for PHP-FPM monitoring — flat pricing, deeper integrations, and one agent that covers your whole stack.
Frequently asked questions
Does this support multiple PHP-FPM pools?
Which PHP versions are supported?
Will this affect PHP performance?
Start monitoring PHP-FPM today
Set up in under 60 seconds. No credit card required. Full metrics from day one.
Start Free Trial



