Sujet :

Perfs I/O aléatoires sur serveur prod avec ssd nvme

RÉSOLU

Liste des sujets Répondre Créer un sujet

alix-alves

Membre depuis le 29/09/2024

team j'ai un serveur prod avec des nvme super rapides et pourtant j'ai des latences I/O qui spike de temps en temps genre 100ms au lieu de 1ms. c'est pas constant mais quand ça arrive l'appli rame de ouf. c'est un linux centos 8. j'ai déjà vérifié le trim le scheduler i/o est en mq-deadline. des pistes ?

jacob-anais

Membre depuis le 09/11/2024

salut ça sent le pstate/cpufreq ou governor qui merde. si le cpu n'est pas constamment à pleine puissance quand il y a un pic de charge i/o ça peut créer des latences. force le governor en performance au lieu de ondemand pour voir


echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

ithierry

Membre depuis le 28/09/2024

autre piste c'est le nr_requests dans sysfs. pour les nvme c'est mieux d'avoir des queues plus grandes pour gérer la parallélisation. t'as déjà tweaké ça ? genre monter nr_requests à 1024 ou 2048 pour voir si ça smooth les pics


echo 1024 | sudo tee /sys/block/nvme0n1/queue/nr_requests

poirier-thierry

Membre depuis le 28/03/2024

le multipathing peut aussi être une source si t'en as configuré. des fois les chemins vers les nvme peuvent basculer ou avoir des soucis de latence sur un chemin particulier même si le nvme est local. vérifie les logs du kernel pour des erreurs spécifiques nvme ou des resets de contrôleur

francois-monnier

Membre depuis le 21/07/2024

check aussi les irq affinities des nvme. si toutes les irq sont gérées par le même core cpu ça peut créer un bottleneck. tu peux utiliser irqbalance ou les set à la main pour les distribuer sur plusieurs cores. ça peut bien améliorer les perfs sur les gros workloads i/o

alix-alves

Membre depuis le 29/09/2024

alors le governor était déjà sur performance. nr_requests était à 256 je l'ai mis à 1024. ça n'a pas tout réglé. j'ai fouillé les logs du kernel et bingo ! user4 bien vu j'avais des "nvme nvme0: I/O 33 QID 3 timeout" qui apparaissaient. après investigation c'était un driver pci-e pas à jour qui faisait des micro-déconnexions du nvme. une mise à jour du firmware du contrôleur et du driver pci-e a stabilisé le truc. plus de spikes. merci pour l'aide

jacob-anais

Membre depuis le 09/11/2024

top c'est souvent les drivers bas niveau les plus chiants à débugger. content que tu aies trouvé

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