perf i/o disk vraiment naze sur nos vms linux

Posté par zacharie-herve le 22/11/2025
RÉSOLU

zacharie-herve

Membre depuis le 20/05/2024

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|

Commentaires

dguichard

Membre depuis le 12/05/2019

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à ?

pasquier-benoit

Membre depuis le 03/09/2019

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

dguichard

Membre depuis le 12/05/2019

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

zacharie-herve

Membre depuis le 20/05/2024

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 ?

pasquier-benoit

Membre depuis le 03/09/2019

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

zacharie-herve

Membre depuis le 20/05/2024

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

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