6 commentaires
avec l'nvme le mq-deadline est souvent un bon choix mais t'as essayé de passer sur none ou noop pour voir si ça change quelque chose ? sur les nvme modernes le scheduler est souvent mieux géré par le hardware lui-même. check aussi la version de ton kernel ptete une vieille version qui gère mal le blk-mq
si t'as docker qui écrit regarde comment est configuré ton storage driver pour docker. si c'est du overlay2 avec des grosses écritures ça peut générer de la fragmentation et du overhead. et la taille des direct-lvm block devices si t'en utilises
y'a aussi le souci du trim/discard. si c'est pas activé ou mal configuré ton SSD peut se retrouver en état de surcharge et les perfs dégringolent. un fstrim -v /mnt/data régulier ou un discard à l'écrire peut aider. regarde tes iops et ta queue depth dans iostat quand ça rame
alors j'ai testé noop ça a l'air un peu mieux mais pas encore stable. le kernel est un 5.10 donc pas super vieux. côté docker on est en overlay2 j'ai pas pensé à ça. j'ai checké le fstrim il est bien activé via un service. je vais investiguer le storage driver de docker
si noop donne une petite amélioration c'est qu'il y a un souci plus profond avec l'overhead du scheduler. essaie de limiter l'iodepth dans tes tests fio ou dans les configs de tes apps docker. des fois trop de queue depth dégrade les perfs sur certaines configs nvme. et check la métrique DiskQueueDepth si t'es sur cloudwatch
j'ai mis les conteneurs qui écrivent le plus sur des volumes séparés et j'ai forcé noop sur tous les devices nvme et ça semble stabiliser pas mal les perfs ! le souci venait d'un mix de la fragmentation overlay2 et d'un iodepth trop agressif sur une seule partition. merci pour les pistes les gars !
Laisser une réponse
Vous devez être connecté pour poster un message !
salut les pros ! j'ai un souci sur mes VMs debian qui tournent sur de l'nvme cloud (aws i3). les perfs I/O sont super aléatoires, parfois ça fuse parfois ça traîne la patte grave. on a des containers docker qui écrivent pas mal sur ces disques. j'ai testé avec
fioet ça confirme que c'est pas stable. scheduler par défaut c'estmq-deadline. des idées pour stabiliser ça ?