Choix du scheduler I/O pour perf Elasticsearch sur NVMe

lemaitre-alphonse 31/05/2025
RÉSOLU
lemaitre-alphonse
Auteur Actif
Avatar de lemaitre-alphonse
lemaitre-alphonse
Auteur Actif

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 ?

31/05/2025 à 08:18

7 commentaires

joseph-breton
Membre Actif
Avatar de joseph-breton
joseph-breton
Membre Actif

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.

Modifié le 23/05/2026 à 16:20
maurice18
Membre
Avatar de maurice18
maurice18
Membre

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.

Modifié le 23/05/2026 à 16:20
lemaitre-alphonse
Auteur Actif
Avatar de lemaitre-alphonse
lemaitre-alphonse
Auteur Actif

ok je vois le point. comment je check le scheduler actuel et comment je le change ? faut reboot la machine ?

03/06/2025 à 05:39
joseph-breton
Membre Actif
Avatar de joseph-breton
joseph-breton
Membre Actif

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.

Modifié le 23/05/2026 à 16:20
lemaitre-alphonse
Auteur Actif
Avatar de lemaitre-alphonse
lemaitre-alphonse
Auteur Actif

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.

Modifié le 23/05/2026 à 16:20
maurice18
Membre
Avatar de maurice18
maurice18
Membre

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.

Modifié le 23/05/2026 à 16:20
lemaitre-alphonse
Auteur Actif
Avatar de lemaitre-alphonse
lemaitre-alphonse
Auteur Actif

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.

Modifié le 23/05/2026 à 16:20

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