Problème de 'Throttling' CPU sur des Pods K8s

michel-lacombe 05/02/2025
RÉSOLU
michel-lacombe
Auteur Actif
Avatar de michel-lacombe
michel-lacombe
Auteur Actif

yo j'ai un comportement super bizarre sur mes pods java. la consommation CPU affichée dans grafana est bien en dessous de la 'limit', mais mon app est super lente et j'ai des pics de latence de fou. quand je check les métriques de throttling, ça explose alors que je suis pas au taquet du CPU

resources:
  requests:
    cpu: "500m"
  limits:
    cpu: "1000m"

comment c'est possible d'être throttled sans atteindre la limite ?

05/02/2025 à 15:07

3 commentaires

tbarthelemy
Membre Actif
Avatar de tbarthelemy
tbarthelemy
Membre Actif

c'est peut-être ton app qui fait du multi-threading et qui bouffe tout son quota sur des périodes super courtes que prometheus voit pas

06/02/2025 à 14:55
alphonse20
Membre Actif
Avatar de alphonse20
alphonse20
Membre Actif

exactement. c'est le fonctionnement du CFS (Completely Fair Scheduler) de Linux. si ton app consomme ses 1000ms de temps CPU en seulement 20ms au début du cycle (period), elle est bloquée pour les 80ms restants. vire les CPU limits et utilise uniquement les requests si tu peux, ou augmente drastiquement la limit pour laisser passer les pics

07/02/2025 à 11:19
michel-lacombe
Auteur Actif
Avatar de michel-lacombe
michel-lacombe
Auteur Actif

j'ai viré les limits et les latences ont disparu instantanément. je savais pas que les limits pouvaient être aussi contre-productives. merci !

08/02/2025 à 09:06

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire