hello quelle est la distrib du guest ? et surtout quel est ton i/o scheduler configuré sur le device nvme à l'intérieur de la vm ? t'as checké ça avec cat /sys/block/nvme0n1/queue/scheduler ?
c'est une ubuntu 22.04. et le scheduler c'est mq-deadline. c'est celui par défaut ou je l'ai mis pour des tests je sais plus. ça change quelque chose pour du nvme ?
clairement oui. pour du nvme ultra-rapide les schedulers comme mq-deadline ou cfq (si vieux kernel) sont pas opti. le nvme est si rapide que le kernel a pas besoin d'optimiser les accès. essaie de le mettre à none ou noop. le driver nvme gère son propre ordonnancement. mq-deadline c'est pour les disques lents ou rotatifs.
# commande pour changer le scheduler (temporaire)
echo 'none' | sudo tee /sys/block/nvme0n1/queue/scheduler
Ok je viens de passer à 'none' et refaire le bench. P*** LA DIFFÉRENCE. je suis passé de 700 iops à plus de 40000 iops sur le 4k random read. c'était juste ça. dingue. un grand merci !
pas de souci. faut toujours penser au i/o scheduler pour les perfs disk. surtout sur les nvme. propre
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
guy-bonneau
Membre depuis le 17/02/2020actif
salut les pros j'ai une vm toute neuve sous kvm avec du nvme passthrough ou du moins l'hyperviseur expose du nvme au guest. je fais des benchmarks fio j'attends des milliers d'iops et je me retrouve avec des perfs de disque rotatif genre 500-800 iops. l'infra est ok le nvme est rapide sur l'host la vm a assez de cpu ram. je sèche.