Sujet :
RÉSOLU
Liste des sujets Répondre Créer un sujet
Membre depuis le 07/05/2024
salut les linux gourous
on a des soucis de perf sur nos serveurs mysql. de temps en temps les requêtes prennent une éternité (genre 500ms au lieu de 5ms). on a des disques nvme et ça se manifeste par des pics de latence iops très aléatoires. tout le reste (cpu, ram, réseau) est ok. on se demande si c'est pas le scheduler io du kernel qui fait des siennes. on est sur centos 8 avec kernel 4.18
# infos disque
lsblk -o NAME,ROTA,SCHED,FSTYPE,MOUNTPOINT
NAME ROTA SCHED FSTYPE MOUNTPOINT
nvme0n1 0 mq-deadline xfs /var/lib/mysql
vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
guy-bonneau
Membre depuis le 17/03/2025
pour du nvme mq-deadline c'est bien mais en général noop est encore mieux. il laisse le hardware gérer l'ordonnancement. essaye de passer ton scheduler en noop pour le device nvme0n1. ça peut réduire les overheads du kernel. mais avant ça, t'as checké la latence brute du disque avec fio ou ioping ? pour être sûr que le problème vient bien du stack kernel.
abigot
Membre depuis le 17/06/2024
oui noop est le standard pour les nvme. vérifie aussi ton swappiness, si le kernel commence à swapper sur ton nvme ça peut être une cause. même si t'as de la ram libre, un swappiness élevé peut initier du swap inopportun. met le à 1 ou 10. echo 10 > /proc/sys/vm/swappiness
vincent-marianne
Membre depuis le 07/05/2024
bingo ! c'était le scheduler ! j'ai passé nvme0n1 en noop avec
echo noop > /sys/block/nvme0n1/queue/scheduleret les latences ont disparu. en fait le mq-deadline faisait parfois des pauses bizarres. merci beaucoup les gars pour le tuyau ! swappiness était déjà bas mais c'était la bonne piste. la prod est sauvée.