perf i/o disque random sur vm linux

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

hello la commu

on a des vm linux (ubuntu 22.04 kernel 5.15) qui tournent sur vmware et on a des perfs i/o disque super random

parfois c'est hyper rapide et d'autres fois pour les mêmes opérations on prend des plombes

c'est surtout sur des write lourds avec des petits fichiers

# exemple de fstab
UUID=xxxx / ext4 defaults,noatime 0 1

j'ai déjà checké le disque côté vmware ça va pas de latence côté hyperviseur

vous avez des pistes côté kernel ou config disk sur la vm ?

15/05/2025 à 12:34

7 commentaires

ça sent l'i/o scheduler

par défaut sur les systèmes récents c'est souvent mq-deadline ou none si nvme

mais pour des vm sur un hyperviseur t'es mieux avec noop ou none

l'hyperviseur gère déjà l'ordonnancement disque donc ton OS fait du double taf

check cat /sys/block/sdX/queue/scheduler

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

oui noop c'est le best practice pour les vm et les disques ssd

si t'es sur deadline ou cfq ça peut introduire de la latence si y a pas mal de petites i/o

faut aussi regarder le fio ou iostat pendant les périodes de lenteur pour voir le await et util

Modifié le 23/05/2026 à 16:20
hugues39
Auteur Actif
Avatar de hugues39
hugues39
Auteur Actif

effectivement je suis sur mq-deadline par défaut sur le volume de data

je vais tester de le passer à noop

vous avez des recommandations pour la taille des buffers ou les réglages dirty_ratio dans sysctl ?

Modifié le 23/05/2026 à 16:20

pour les buffers dirty_ratio et dirty_background_ratio ça dépend beaucoup de ta ram et de ton workload

si t'as des gros bursts de writes ça peut aider d'augmenter un peu mais faut faire gaffe à pas allouer trop de ram pour le cache disque et bloquer le système

commence par noop c'est souvent le gros gain

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

n'oublie pas le barrier=0 sur ext4 dans ton fstab si t'as une batterie de cache sur ton san/hyperviseur

ça peut améliorer les perfs write mais attention si tu perds le courant sans write cache bien protégé tu risques de perdre des données

mais dans un environnement vmware avec un vsan ou un stockage bien géré c'est ok

Modifié le 23/05/2026 à 16:20

aussi si t'es sur ext4 tu peux voir commit=N dans ton fstab pour réduire la fréquence des syncs

par défaut c'est 5s si j'me souviens bien tu peux le passer à 30 ou 60s pour les workloads où la consistance immediate est moins critique

mais attention à la perte de données en cas de crash

Modifié le 23/05/2026 à 16:20
hugues39
Auteur Actif
Avatar de hugues39
hugues39
Auteur Actif

j'ai passé le scheduler à noop et c'est le jour et la nuit les perfs sont beaucoup plus stables et rapides

j'ai aussi mis un commit=30 dans le fstab pour les volumes non critiques

énorme merci à vous pour les conseils c'était bien l'i/o scheduler le coupable

Modifié le 23/05/2026 à 16:20

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