8 commentaires
pour du nvme c noop ou none direct les schedulers classiques comme cfq ou deadline sont faits pour des disques rotatifs ils réordonnent les i/o pour minimiser les mouvements de tête ce qui est inutile sur nvme
exactement le hardware nvme est déjà très intelligent pour gérer l'ordre des requêtes l'os doit juste les passer le plus vite possible sans ajouter de latence. noop est le meilleur choix dans presque tous les cas
clairement des gains en latence et un peu en iops surtout sous forte charge si ton appli fait beaucoup d'i/o aléatoires. le kernel passe juste les commandes au contrôleur nvme qui les optimise super bien lui-même
oui la latence c'est le gain principal. si t'es sur un kernel récent (genre 5.0+) le scheduler par défaut mq-deadline est aussi pas mal il est conçu pour les devices multi-queues mais none/noop reste souvent le plus direct
fais gaffe noop et none c'est le même principe mais none est une implémentation plus moderne mq-noop ou none sont les termes exacts selon ton kernel. tu peux le changer à chaud via echo none > /sys/block/nvme0n1/queue/scheduler
Laisser une réponse
Vous devez être connecté pour poster un message !
hello la team on est en train de tunner des serveurs de prod qui utilisent des disques NVMe sous linux et je me pose la question du I/O scheduler. on est resté sur cfq un peu par habitude mais ça me paraît pas idéal pour du flash moderne. vous utilisez quoi vous