Sujet :

Kernel Linux : Perfs I/O aléatoires sur SSD NVMe avec Docker

RÉSOLU

Liste des sujets Répondre Créer un sujet

emmanuelle-valette

Membre depuis le 26/06/2024

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 fio et ça confirme que c'est pas stable. scheduler par défaut c'est mq-deadline. des idées pour stabiliser ça ?

# exemple de commande fio
fio --name=random-write --ioengine=libaio --iodepth=16 --rw=randwrite --bs=4k --size=1G --numjobs=1 --filename=/mnt/data/testfile --group_reporting

henri-leroux

Membre depuis le 11/07/2024

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

lenoir-astrid

Membre depuis le 20/06/2024

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

gauthier-cecile

Membre depuis le 20/01/2025

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

emmanuelle-valette

Membre depuis le 26/06/2024

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

henri-leroux

Membre depuis le 11/07/2024

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

emmanuelle-valette

Membre depuis le 26/06/2024

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 !

Répondre

vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire