PHP-FPM slowlog captures stack traces for requests exceeding a pool threshold.
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. Slowlog paths must be writable by FPM and protected against public access.
Example 1: Basic Operation
Set parameters in the FPM pool configuration; avoid exposing pool status publicly.
request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/slow.log
request_terminate_timeout = 30s
Example 2: Behavior and Validation
Run the matching status or validation command on the intended host.
tail -n 50 /var/log/php-fpm/slow.log
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
| Approach | What changes |
|---|---|
| Web server, worker and PHP CLI | The web server handles HTTP, the PHP worker executes scripts, and CLI has separate configuration and lifecycle. |
| Choosing safely | Check the effective configuration in the SAPI serving requests before changing production. |
Common Beginner Mistakes
| Mistake | Correct approach |
|---|---|
| Checking the PHP CLI INI instead of FPM | Inspect phpinfo or configuration through the protected web SAPI. |
| Exposing worker status publicly | Restrict FPM diagnostics to localhost or a monitored private network. |
| Skipping operational constraints | Slowlog paths must be writable by FPM and protected against public access. |
Key Takeaways
- PHP-FPM slowlog captures stack traces for requests exceeding a pool threshold.
- Correlate capacity, worker crashes and slow requests using logs and process state.
- Check the effective configuration in the SAPI serving requests before changing production.