Content · Web Development · PHP

Monitoring PHP-FPM Workers

Monitor active, idle, max children reached and slow requests alongside host memory.

1 views Published Oct 17, 2026 Updated Oct 17, 2026 Admin

Monitor active, idle, max children reached and slow requests alongside host memory.

What It Does and When to Use It


Set parameters in the FPM pool configuration; avoid exposing pool status publicly. The web server handles HTTP, the PHP worker executes scripts, and CLI has separate configuration and lifecycle.

Requirements, Inputs and Expected Behavior


Confirm the runtime, extension, environment variables, and permissions before running the examples in production. Review multiple samples at peak load; a single point-in-time status is insufficient.

Example 1: Basic Operation


Set parameters in the FPM pool configuration; avoid exposing pool status publicly.

pm.status_path = /fpm-status
pm.max_children = 12

Example 2: Behavior and Validation


Run the matching status or validation command on the intended host.

curl -s http://127.0.0.1/fpm-status?json

Practical Example: Application Use


Correlate capacity, worker crashes and slow requests using logs and process state.

sudo systemctl status php8.4-fpm --no-pager
sudo journalctl -u php8.4-fpm -n 35 --no-pager

Important Behavior and Edge Cases


The second example highlights: Run the matching status or validation command on the intended host. The practical example adds: Correlate capacity, worker crashes and slow requests using logs and process state.

Comparison with Related Approaches


ApproachWhat changes
Web server, worker and PHP CLIThe web server handles HTTP, the PHP worker executes scripts, and CLI has separate configuration and lifecycle.
Choosing safelyCheck the effective configuration in the SAPI serving requests before changing production.

Common Beginner Mistakes


MistakeCorrect approach
Acknowledging a job before it finishesMark delivery successful only after durable processing succeeds.
Treating retries as harmlessUse idempotency keys and a bounded retry policy with dead-letter handling.
Skipping operational constraintsReview multiple samples at peak load; a single point-in-time status is insufficient.

Key Takeaways


  • Monitor active, idle, max children reached and slow requests alongside host memory.
  • Correlate capacity, worker crashes and slow requests using logs and process state.
  • Check the effective configuration in the SAPI serving requests before changing production.
Share this resourceSend this page to someone who may find it useful.