Membre depuis le 28/09/2023
bonjour les devs
on a des vm linux sur vmware qui ont des perfs i/o disque vraiment nazes. on parle de quelques dizaines de mb/s en lecture/écriture séquentielle sur des disques censés être rapides. c'est une rhel 8, on fait des tests avec fio. le même workload sur une vm avec un autre os (windows) tourne beaucoup mieux. on a l'impression que le kernel linux gère mal un truc. des idées de ce qu'on peut regarder ?
# exemple de commande fio
fio --name=test --ioengine=libaio --rw=randwrite --bs=4k --numjobs=4 --size=1G --runtime=60 --group_reporting
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
paulette-simon
Membre depuis le 12/05/2024
salut tu as quel scheduler i/o sur tes disques ? sur les vmware le default c'est souvent cfq ou deadline mais pour les vm block storage moderne genre paravirtualized c'est souvent noop ou mq-deadline qui donne les meilleures perfs. regarde avec cat /sys/block/sdX/queue/scheduler et essaie de changer
maggie-didier
Membre depuis le 21/05/2024
oui le scheduler c'est la première chose. aussi, est-ce que tes vmware tools sont à jour ? et tes drivers paravirtualisés genre virtio ou vmxnet3 pour le réseau et pvscsi pour le disque sont bien utilisés ? des fois c'est les vieux drivers emulés qui plombent tout
ramos-cecile
Membre depuis le 28/09/2023
le scheduler est mq-deadline. j'ai vérifié les vmware tools ils sont à jour. et on utilise bien pvscsi pour les contrôleurs disques. le problème persiste. le cpu de la vm est pas surchargé le memory est ok. juste le i/o qui est lent à mourir
lebreton-guy
Membre depuis le 08/05/2024
y'a ptete un souci sur le hypervisor même. check le datastore où sont tes vm. s'il est partagé avec plein d'autres vm qui font beaucoup d'i/o ça peut saturer les iops ou la bande passante. et côté vmware y'a des limites d'iops configurables par vm tu as regardé si c'était pas cappé trop bas
paulette-simon
Membre depuis le 12/05/2024
en plus des limites sur vmware check aussi le max_sectors_kb et nr_requests pour ton device dans /sys/block/sdX/queue. si ces valeurs sont basses ça peut limiter la profondeur de queue et donc le débit max. pour de grosses charges i/o il faut des queues profondes
ramos-cecile
Membre depuis le 28/09/2023
le datastore est un nvme et les autres vm dessus sont calmes. pas de limitation iops configurée sur la vm. je vais regarder les paramètres de queue. par contre j'ai vu que sys/block/sdX/queue/rotational était à 1 alors que c'est un ssd. bizarre non ?
maggie-didier
Membre depuis le 21/05/2024
ah ça c'est une très bonne piste ! si rotational est à 1 le kernel pense que c'est un disque rotatif et adapte ses heuristiques de scheduling en conséquence ce qui est catastrophique pour un ssd. essaie de le passer à 0 avec echo 0 > /sys/block/sdX/queue/rotational. ça peut faire des miracles
ramos-cecile
Membre depuis le 28/09/2023
j'ai mis rotational à 0 et relancé fio. les perfs ont explosé ! on est passés de 50mb/s à plus de 500mb/s. c'était ça le problème. le kernel pensait que c'était un hdd physique. merci à tous pour l'aide c'était pas évident à trouver