Membre depuis le 21/03/2025
cfq sur du nvme c'est une hérésie ! ce scheduler est fait pour les disques rotatifs où le kernel doit optimiser les déplacements de tête. sur du nvme le device est tellement rapide qu'il gère sa propre file. passe en `noop` ou `none` direct.
Membre depuis le 20/03/2025
totalement d'acc avec user 2. les ssd et nvme ont leur propre logique de planification interne. le kernel n'a pas besoin de faire de la réordonnancement, ça ajouterait juste de la latence et de l'overhead inutile. `noop` ou `none` c'est le meilleur choix.
Membre depuis le 26/04/2020
ok je vois le point. comment je check le scheduler actuel et comment je le change ? faut reboot la machine ?
Membre depuis le 21/03/2025
pour voir le scheduler actuel pour un disque genre `/dev/nvme0n1` :
cat /sys/block/nvme0n1/queue/scheduler
pour le changer temporairement :
echo noop > /sys/block/nvme0n1/queue/scheduler
pour le rendre permanent tu dois éditer grub ou faire un udev rule. pas besoin de reboot si tu changes à chaud.
Membre depuis le 26/04/2020
super j'ai vérifié c'était bien `[cfq]`. j'ai passé en `noop` sur un noeud de test. je vais monitorer mais les premiers retours sont prometteurs moins de variabilité sur les latences p99.
Membre depuis le 20/03/2025
oui c'est la différence que tu devrais voir. moins de pics et plus de constance. si tu as des nvme qui font du mélange read/write intensif et que tu vois encore des soucis tu pourrais tester `mq-deadline` (qui est aussi un simple scheduler mais multi-queue) ou `bfq` (un peu plus complexe mais bien pour desktop/mixte) mais `noop` reste le plus simple et souvent le plus efficace pour du pur nvme.
Membre depuis le 26/04/2020
merci à vous c'était bien le cfq qui foutait le bordel. `noop` a réglé le problème. je vais appliquer ça à tout le cluster.
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
lemaitre-alphonse
Membre depuis le 26/04/2020
Salut la communauté j'ai une question sur l'optimisation I/O pour des clusters Elasticsearch. on tourne sur des instances avec des NVMe locales super rapides mais on a des pics de latence I/O de temps en temps. on est sur le scheduler par défaut (cfq). est-ce que ça vaut le coup de changer pour noop ou mq-deadline ou un autre pour les NVMe ? vous avez de l'expérience là-dessus ?