PhpFpmMaxChildrenReached
- Bron:
prometheus/rules/nextcloud/rules-phpfpm-pm.yaml - Alert:
PhpFpmMaxChildrenReached - Severity:
warning
Betekenis
Het maximum aantal child processen (pm.max_children) is minstens één keer bereikt. Nieuwe requests kunnen in de listen queue terechtkomen; de PM was verzadigd.
Trigger
php_fpm_max_children_reached > 0(for: 1m). De metric is een teller (aantal keren dat de limiet is bereikt).
Runbook
- Huidige belasting: Bekijk in Grafana/Prometheus:
php_fpm_active_processes,php_fpm_idle_processes,php_fpm_listen_queuevoor deze pool. - pm.max_children: Verhoog in de PHP-FPM poolconfiguratie indien de workload structureel hoger is, of optimaliseer de app (minder lange requests, caching).
- Spreiding: Bij meerdere replicas: is de load gelijkmatig? Overweeg meer replicas of resource limits aanpassen.
PM-instellingen: wat kan beter?
- pm.max_children verhogen tot minimaal het dubbele van het gemiddelde aantal actieve processen bij piek (rekening houdend met beschikbaar geheugen per worker).
- pm.start_servers: in de buurt van
(pm.min_spare_servers + pm.max_spare_servers) / 2zodat er bij opstart al voldoende workers zijn. - pm.min_spare_servers en pm.max_spare_servers iets verhogen zodat er sneller idle workers beschikbaar zijn bij pieken.
- Na wijziging: pool herladen (
php-fpm reloadof pod herstart) en daarna de metrics opnieuw bekijken.
Verwachte routing
- Default (bijv. team-platform-slack).