grosse latence sur une appli web avec du i/o wait étrange

ogomez 15/05/2025
RÉSOLU
ogomez
Auteur Actif
Avatar de ogomez
ogomez
Auteur Actif

on a une app web qui a des latences de dingue de temps en temps genre 10 secondes pour une requête simple. et htop nous montre de l'i/o wait de fou. c'est sur une vm linux classique avec des disques ssd virtuels (cloud provider). la db est externe. j'ai checké iotop rien d'évident. une piste ?

15/05/2025 à 08:19

7 commentaires

gros-victor
Membre Actif Secouriste
Avatar de gros-victor
gros-victor
Membre Actif Secouriste

hmm i/o wait ça peut être plein de trucs. déjà c'est quel type de système de fichiers ? ext4 xfs ? et c'est un système d'exploitation à jour kernel y compris ?

16/05/2025 à 05:01
maury-lucy
Membre
Avatar de maury-lucy
maury-lucy
Membre

t'as des logs qui sont écrits en masse sur ce disque ? genre log4j qui fait n'importe quoi ou un journald qui sature ? un journal de base de données si c'est une db locale cachée quelque part

17/05/2025 à 03:55
catherine-pineau
Membre Actif
Avatar de catherine-pineau
catherine-pineau
Membre Actif

regarde du côté de blktrace ou iostat -x 1 pour avoir plus de détails sur les opérations d'i/o bloquantes. et la queue des requêtes de disque est-elle pleine ? genre sous /sys/block/sdX/queue/rotational /rq_affinity

17/05/2025 à 23:56
ogomez
Auteur Actif
Avatar de ogomez
ogomez
Auteur Actif

c'est ext4 et le kernel est plutôt à jour. on écrit pas des tonnes de logs ça va. pas de db locale. j'ai fait un iostat -x 1 et je vois des temps de service (svctm) super élevés sur le disque principal

18/05/2025 à 21:40
gros-victor
Membre Actif Secouriste
Avatar de gros-victor
gros-victor
Membre Actif Secouriste

temps de service élevé ça veut dire que le disque est lent à répondre. même si c'est un ssd virtuel ça peut arriver si la vm est sur-provisionnée ou si le provider a des soucis sur le host physique. t'as essayé de monter un autre disque ou de changer de vm type ?

19/05/2025 à 18:06
maury-lucy
Membre
Avatar de maury-lucy
maury-lucy
Membre

et le scheduler d'i/o du kernel t'as regardé ? noop deadline cfq ? si c'est une vm avec ssd le noop est souvent le meilleur choix. ptete que c'est le scheduler qui met le bordel

20/05/2025 à 16:02
ogomez
Auteur Actif
Avatar de ogomez
ogomez
Auteur Actif

OMG c'était le scheduler ! il était en cfq au lieu de noop. après avoir changé ça et redémarré (un petit coup de echo noop > /sys/block/sda/queue/scheduler), les temps de service sont revenus à la normale et l'appli est fluide. merci les gars pour l'aide précieuse !

21/05/2025 à 14:48

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