Membre depuis le 01/10/2023
salut la compagnie j'ai des vms ubuntu sur aws (genre c5n.xlarge avec des disques nvme) qui sont censées avoir des perfs i/o de ouf mais en pratique je galère. mes applications ont des latences de dingue sur les accès disque alors que les métriques ebs dans cloudwatch montrent rien d'anormal (iops et throughput sont loin des limites)
# test iperf (simplifié)
fio --name=test --ioengine=libaio --iodepth=64 --rw=randwrite --bs=4k --size=1g --numjobs=1 --direct=1 --fsync=1 --filename=/mnt/data/fio_test.img
le test fio me donne des IOPS ridicules pour du NVMe moins de 10k alors que je devrais être à des centaines de milliers
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
maillet-elodie
Membre depuis le 21/07/2024
hello ! première chose à vérifier c'est la version du kernel et si tu as les drivers NVMe qui vont bien. et assure-toi que ton système de fichiers (ext4 xfs) est monté avec les bonnes options genre noatime ou nodiratime pour réduire les writes métadata. et le scheduler I/O ? deadline cfq noop ?
vmichel
Membre depuis le 21/07/2024
en parlant de scheduler pour du nvme le noop est souvent le meilleur car le scheduler est déjà dans le hardware. check cat /sys/block/nvme0n1/queue/scheduler. si c pas noop mets-le via echo noop > /sys/block/nvme0n1/queue/scheduler
fboyer
Membre depuis le 21/07/2024
fio c'est bien mais assure-toi que tu testes la bonne chose. ton --iodepth=64 c'est ok pour le parallélisme mais le --fsync=1 peut plomber tes perfs si tu as un souci de cache écriture ou de disque en arrière-plan. essaie sans fsync pour voir le throughput max du disque brut
rossi-olivie
Membre depuis le 20/04/2024
et t'as des snapshots réguliers ou backups en cours sur cet EBS ? même si tu ne vois rien dans cloudwatch des opérations de maintenance ou de snapshot peuvent impacter les perfs de manière transparente pour l'utilisateur des fois
auguste30
Membre depuis le 01/10/2023
j'ai checké le scheduler il était en mq-deadline je l'ai mis à noop ça a un peu aidé mais c'est pas encore ça. et les options de mount sont ok. sans fsync les perfs sont un peu meilleures mais toujours loin du compte. pas de snapshots en cours
maillet-elodie
Membre depuis le 21/07/2024
ok si le scheduler et les options de mount sont bons et pas de fsync qui ralentit alors c'est peut-être la taille du bloc. si ton application écrit en très petits blocs (ex 512B) mais que le disque est optimisé pour des 4K ça fait bcp d'overhead. essaie de faire ton fio avec des bs=8k ou bs=16k pour voir
auguste30
Membre depuis le 01/10/2023
c'était ça ! mon application faisait des writes en 1k. en passant le bs de fio à 4k puis 8k j'ai vu les IOPS monter en flèche. j'ai revu la taille des buffers de mon app et maintenant c le jour et la nuit. merci à tous pour votre aide précieuse