Performances I/O aléatoires sur serveur Linux avec SSD NVMe

Posté par dasilva-gilbert le 12/12/2025
RÉSOLU

dasilva-gilbert

Membre depuis le 13/02/2025

Salut l'équipe ! J'ai un serveur de prod avec des nvme (raid0 software) et je vois des perfs i/o super bizarres. la plupart du temps c'est ok genre 200k iops pour du random read mais de temps en temps ça tombe à 50k iops pendant quelques minutes puis ça remonte. c'est super aléatoire j'arrive pas à reproduire facilement

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=/dev/nvme0n1 --bs=4k --iodepth=64 --size=10G --readwrite=randread --runtime=60 --group_reporting

le cpu est pas à fond la mémoire est ok. le disk usage non plus. des idées de où chercher ? ça rend les applis super lentes par intermittence

Commentaires

ines68

Membre depuis le 02/09/2024

check le scheduler i/o. par défaut sur les nvme c souvent mq-deadline ou none. si t'es sur cfq ou noop pour une raison obscure ça peut faire des merdes. regarde la sortie de cat /sys/block/nvme0n1/queue/scheduler

aussi, t'as regardé les logs du kernel pour des erreurs nvme ? dmesg -T | grep -i nvme

dasilva-gilbert

Membre depuis le 13/02/2025

non le scheduler est bien sur none pour les nvme. pas d'erreurs nvme dans les logs. c'est vraiment silencieux en fait. mais les perfs sont en yoyo. ptete un souci de thermal throttling sur le nvme ? mais c'est un serveur rack avec bonne ventilation

sebastien82

Membre depuis le 08/02/2025

on a eu un truc similaire c'était le trim qui se déclenchait. si le fstrim.timer est actif et qu'il purge trop agressivement ça peut bloquer les i/o le temps que ça nettoie. regarde les logs de systemd pour fstrim et si t'as des crons qui le lancent

systemctl status fstrim.timer
journalctl -u fstrim.service

si c'est ça tu peux l'espacer ou le désactiver pour voir si ça change

dasilva-gilbert

Membre depuis le 13/02/2025

ah le trim c'est une bonne piste ! on utilise xfs et j'ai pas pensé au trim. je vais regarder ça de suite. si c'est ça je le désactive et je teste les perfs à nouveau

ines68

Membre depuis le 02/09/2024

si c'est le trim attention à pas le désactiver complètement sans solution alternative sur le long terme. les nvme ont besoin du trim pour maintenir leurs perfs surtout en écriture. tu peux le faire manuellement pendant les fenêtres de maintenance ou utiliser un discard mount option si ton système de fichiers le supporte bien

dasilva-gilbert

Membre depuis le 13/02/2025

d'acc je note pour le trim. j'ai désactivé le fstrim.timer et j'ai lancé un fio long terme... ça fait 2h et pas de drop de perf ! bordel c'était bien ça. je vais regarder comment gérer ça proprement maintenant

sebastien82

Membre depuis le 08/02/2025

super ! pour xfs le discard mount option (mount -o discard /dev/nvme0n1 /mnt/point) ça peut être une bonne solution ça fait du trim en continu en arrière plan sans impacter la prod comme un fstrim complet

dasilva-gilbert

Membre depuis le 13/02/2025

thx pour le conseil discard je vais tester ça en préprod. merci à tous pour l'aide ça m'a sauvé !

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

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

S'inscrire