3 votes

Différences de performances entre EXT4 et XFS sur le noyau 4.15.0-76

OS : Ubuntu 18.04.4 LTS Version du noyau : 4.15.0-76-generic Type de stockage : RAID10 (4 x SSD)

Question : s'agit-il d'un bogue pour cette version du noyau ? EXT4 fonctionne beaucoup plus lentement lorsque nous effectuons le même test d'insertion SQL ; XFS répond beaucoup plus sainement à 2K INSERT + 2K UPDATE alors qu'EXT4 n'a que 59 pour les deux.

IOSTAT montre également que EXT4 est utilisé à 98,4 %.

enter image description here

enter image description here


Autre test : tout est identique, mise à jour du noyau vers 5.6.0-050600-generic

EXT4 : enter image description here

XFS : enter image description here

0voto

John Mahowald Points 28597

Vérifiez les périphériques de bloc sous-jacents, ils sont très différents. ext4 a travaillé très dur : 377 w/s, 2,94 ms d'attente, 98 xfs n'a eu aucun problème : 6277 w/s, 0,07 ms d'attente, 42 %util.

Il est difficile d'expliquer la différence entre la latence d'un périphérique de bloc en millisecondes et en microsecondes avec le système de fichiers. ext4 n'est pas intrinsèquement 40 fois plus lent. Des centaines d'IOPS et une latence de quelques ms, c'est comme si c'était sur des broches et non sur des disques SSD. Bien qu'il puisse s'agir d'un disque SSD défectueux ou mal réglé.

Reformater le périphérique xfs (sda ?) performant avec ext4. Documenter les commandes de création de systèmes de fichiers et les options de montage. Refaire le test. Il s'agira d'une comparaison plus juste, qui ne modifie qu'une seule variable : le type de système de fichiers.

0voto

Thomas G. Lau Points 252

J'ai trouvé la réponse potentielle à cette question,

"cat /sys/block/{block device}/queue/scheduler" indique que le système utilise "cfq", ce qui est un problème lorsque nous avons des disques SSD/NVMe. Le remplacer par "deadline" ou "noop" résout ce problème. Pour plus d'informations, veuillez consulter le wiki Ubuntu : https://wiki.ubuntu.com/Kernel/Reference/IOSchedulers

L'ordonnanceur CFQ a déjà disparu dans le dernier noyau stable, mais il s'agit d'Ubuntu 18 qui utilise une version plus ancienne du noyau, le changement de l'ordonnanceur IO à la main résout le problème.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X