Grosse conso CPU sur Thanos Query quand ya trop de requêtes

maurice-nicolas 18/03/2025
RÉSOLU
maurice-nicolas
Auteur Actif
Avatar de maurice-nicolas
maurice-nicolas
Auteur Actif

Hello la team, on est en train de galérer avec notre setup Thanos. On a un Thanos Query qui sert nos dashboards Grafana et des requêtes API. Dès qu'il y a un peu trop de monde qui utilise Grafana ou qu'un script fait beaucoup de requêtes, le Thanos Query prend 100% de CPU et la latence monte en flèche. On a 4 replicas et le problème est sur tous. On utilise S3 comme storage pour les blocs. Des idées pour optimiser ça ?

18/03/2025 à 02:18

11 commentaires

faure-celine
Membre Secouriste
Avatar de faure-celine
faure-celine
Membre Secouriste

salut. 100% CPU c'est souvent des requêtes PromQL pas optis ou des grosses cardinalités de labels qui forcent Thanos à scanner trop de données. t'as analysé les requêtes les plus coûteuses ? la query log de Thanos peut aider

18/03/2025 à 20:56
icharpentier
Membre Actif
Avatar de icharpentier
icharpentier
Membre Actif

oui exactement. et assure-toi que ton Store Gateway est bien configuré pour le downsampling. si t'as pas de downsampling ça veut dire que Query lit toujours des données haute résolution même pour des longues périodes et ça c'est lourd

19/03/2025 à 16:15
william80
Membre Actif
Avatar de william80
william80
Membre Actif

aussi le query frontend est important pour le caching et la parallelisation. tu l'utilises ? ça décharge pas mal les Query pods

20/03/2025 à 15:13
maurice-nicolas
Auteur Actif
Avatar de maurice-nicolas
maurice-nicolas
Auteur Actif

on utilise le query frontend oui mais il semble pas absorber toute la charge. les requêtes coûteuses sont souvent des count_over_time ou des moyennes sur des périodes de plusieurs jours avec des labels de service importants

sum(rate(http_requests_total{job="my-app", service="api"}[5m])) by (endpoint)

ce genre de truc mais sur des périodes de 1 semaine

21/03/2025 à 09:37
faure-celine
Membre Secouriste
Avatar de faure-celine
faure-celine
Membre Secouriste

pour les longues périodes le downsampling est critique. t'as un compactor qui tourne bien pour générer les blocs 5m et 1h ? sinon Query doit lire tout le raw data

22/03/2025 à 07:06
icharpentier
Membre Actif
Avatar de icharpentier
icharpentier
Membre Actif

et dans ta config thanos query tu as quoi pour le max-query-parallelism et le query.default-evaluation-interval ? tu peux augmenter le parallelism mais ça consomme plus de cpu par requête mais les finit plus vite

Modifié le 23/05/2026 à 16:20
anais-bruneau
Membre Actif Secouriste
Avatar de anais-bruneau
anais-bruneau
Membre Actif Secouriste

regarde aussi le store.grpc.server-max-recv-msg-size dans les configs des store gateways et query. si les blocs sont gros et que cette limite est trop basse ça peut créer des soucis de fragmentation ou de re-fetch. et le cache d'index dans query est bien configuré ? genre query.cache-index-ttl

Modifié le 23/05/2026 à 16:20
maurice-nicolas
Auteur Actif
Avatar de maurice-nicolas
maurice-nicolas
Auteur Actif

ok pour le downsampling on l'avait activé mais le compactor avait des soucis on dirait. il va falloir vérifier ses logs. et je vais regarder les paramètres max-query-parallelism et le cache index. on a 4 de parallelism par défaut. on peut essayer d'augmenter ça à 8

Modifié le 23/05/2026 à 16:20
william80
Membre Actif
Avatar de william80
william80
Membre Actif

oui un parallelism plus élevé peut aider à distribuer la charge sur les cpus si t'en as. mais le fond du problème reste souvent le downsampling et les requêtes trop larges

25/03/2025 à 21:53
maurice-nicolas
Auteur Actif
Avatar de maurice-nicolas
maurice-nicolas
Auteur Actif

bon j'ai fix le compactor il refait ses blocs 5m/1h. et j'ai augmenté le parallelism à 8. ça a l'air déjà beaucoup mieux. les pics cpu sont moins hauts et la latence est redescendue. je vais surveiller ça mais c'était clairement le compactor qui faisait pas son taff. thx beaucoup !

26/03/2025 à 20:48
faure-celine
Membre Secouriste
Avatar de faure-celine
faure-celine
Membre Secouriste

de rien. la maintenance du compactor est cruciale pour Thanos sinon tu perds tous les avantages du downsampling

27/03/2025 à 15:44

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