Dimensionner PHP-FPM sur Kubernetes : le throttling invisible
L'application est lente, les dashboards sont verts et le CPU semble à peine utilisé : c'est la signature du CPU throttling, un phénomène que les graphes de supervision standard ne montrent jamais. Sur une application Symfony déployée sur OpenShift pour un grand opérateur télécom, une seule commande — lire cpu.stat dans le cgroup du pod — a révélé 89 % de fenêtres CPU throttlées et 16 secondes d'attente pour chaque seconde de calcul. Cet article déroule le diagnostic et la correction complète : la limite CPU et le pool PHP-FPM qui se masquaient mutuellement, l'équation mémoire des workers, l'OPcache qui évinçait en boucle et le mpm_prefork imposé en douce par un paquet Debian. Résultat mesuré : 0 % de throttling, sans ajouter un seul nœud au cluster.