Linux Kernel - I/O très lente sur un server NVMe - quelle est la config optimale ?

laurent-jean 25/05/2025
RÉSOLU
laurent-jean
Auteur Actif
Avatar de laurent-jean
laurent-jean
Auteur Actif

salut tout le monde ! j'ai un serveur ubuntu avec des nvme super rapides normalement mais nos bases de données qui tournent dessus sont en galère d'i/o. le iostat montre des waits énormes. pourtant les disques sont pas saturés en utilisation. j'ai l'impression que le kernel gère mal la file d'attente. vous avez des best practices pour optimiser ça ?

25/05/2025 à 13:10

4 commentaires

hello ! pour du nvme il faut absolument que tu sois sur le scheduler mq-deadline ou noop. cfq ou deadline tout court c'est pas fait pour les SSD. et regarde aussi la taille du block_size sur ton filesystem. 4k c'est le standard mais des fois on peut monter pour des workloads spécifiques

26/05/2025 à 09:56
laurent-jean
Auteur Actif
Avatar de laurent-jean
laurent-jean
Auteur Actif

d'acc je vais checker. on est sur ext4 et j'ai l'impression qu'on est sur cfq par défaut. ça expliquerait les lags. pour le block_size c du 4k classique. je passe le scheduler à mq-deadline et je teste. thx !

27/05/2025 à 07:18
josette76
Membre Actif Secouriste
Avatar de josette76
josette76
Membre Actif Secouriste

perso je mets noop sur du nvme pur si y'a pas de raid hardware. le controleur nvme est smart et n'a pas besoin du kernel pour réordonnancer. mq-deadline est bien aussi si t'as des mix hdd/ssd ou du raid soft. et oublie pas de désactiver les barriers si ta bdd gère son propre fsync

28/05/2025 à 02:16
laurent-jean
Auteur Actif
Avatar de laurent-jean
laurent-jean
Auteur Actif

bon bah mq-deadline a fait des miracles ! le iowait est tombé en flèche. j'ai encore quelques ajustements à faire sur la base elle-même mais c'est déjà bcp mieux. thx la team vous avez sauvé ma prod

29/05/2025 à 01:03

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