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

Posté par laurent-jean le 25/05/2025
RÉSOLU

laurent-jean

Membre depuis le 08/04/2019

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 ?

Commentaires

hoareau-emmanuelle

Membre depuis le 22/07/2019

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

laurent-jean

Membre depuis le 08/04/2019

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 !

josette76

Membre depuis le 10/07/2019

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

laurent-jean

Membre depuis le 08/04/2019

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

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