perf i/o disk vraiment naze sur nos vms linux

zacharie-herve 22/11/2025
RÉSOLU

salut les sysadmins ! on a des vms linux (debian 11) sur vmware et la perf i/o est à pleurer. on voit des latences de 50ms sur des reads simples et la queue disk est toujours à fond dstat montre des chiffres affolants. nos apps sont super lentes. vous avez déjà eu ça ?

$ dstat -tdlrcm --disk-util
----total-cpu-usage---- -dsk/total- ----load-avg----
usr sys idl wai hiq siq| read  writ| 1m   5m  15m|
1  1   97   1   0   0 |  0.1M  0.2M|0.00 0.01 0.05|
22/11/2025 à 02:59

6 commentaires

dguichard
Membre Actif
Avatar de dguichard
dguichard
Membre Actif

ah oui le classique souci d'i/o scheduler. si t'es sur vmware souvent le 'none' scheduler est le meilleur. le kernel linux est pas toujours opti pour la virtualisation avec les schedulers par défaut. t'as quoi comme scheduler actif là ?

22/11/2025 à 23:33
pasquier-benoit
Membre Actif
Avatar de pasquier-benoit
pasquier-benoit
Membre Actif

exact si c'est des vms faut souvent le passer en 'none' ou 'noop' car le hyperviseur gère déjà l'ordonnancement. sinon tu as 2 couches qui se battent. ou si c'est de l'nvme direct 'mq-deadline' peut être pas mal aussi. vérifie la version des vmware tools aussi des fois ça joue

23/11/2025 à 19:29
dguichard
Membre Actif
Avatar de dguichard
dguichard
Membre Actif

pour changer tu peux faire echo 'none' | sudo tee /sys/block/sdX/queue/scheduler (remplace sdX par ton device) et tu peux le rendre persistant via grub ou udev rules. mais teste d'abord à chaud pour voir la différence

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

ok je suis en mq-deadline par défaut. je vais tenter le 'none'. c'est quoi l'idée derrière ça vu que mq-deadline est censé être plus moderne ?

25/11/2025 à 17:28
pasquier-benoit
Membre Actif
Avatar de pasquier-benoit
pasquier-benoit
Membre Actif

mq-deadline est super pour du bare metal ou des disques physiques directs. mais en virtuel l'hyperviseur (vmware ici) fait déjà son propre ordonnancement des i/o pour les disques virtuels. donc si tu as un scheduler dans la vm et un autre dans l'hyperviseur ça peut créer des conflits et de la latence au lieu d'améliorer les choses

26/11/2025 à 16:23

ouah la diff est énorme ! je viens de passer en 'none' et la latence est passée de 50ms à genre 2ms pour les reads. c'est le jour et la nuit. merci pour l'astuce les gars j'aurais jamais pensé à ça

27/11/2025 à 15:09

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