Quel filesystem pour Linux ?

De guerre lasse, j’ai voulu vérifier les performances des différents systèmes de fichiers présents sous Linux avec l’utilitaire de Benchmarking sysbench, présent dans toutes les principales distributions Linux.

Les conditions du test

J’ai réalisé ce test dans une machine virtuelle Fedora 24 / Noyau 4.7 s’exécutant dans VirtualBox sous Windows. J’ai ajouté à cette machine un disque de 8 Go au format VDI, avec une gestion du stockage fixe, sur un disque physique Seagate ST2000DM001-1ER164 de 2 To.

Quel filesystem pour Linux ?

Utilisation de sysbench

Après avoir partitionné avec fdisk, les commandes suivantes sont à effectuer sur la partition du disque ajouté (/dev/sdb1 pour ma part) :

mkdir /mnt/sdb1
mkfs -t ext4|jfs|btrfs|xfs|reiserfs /dev/sdb1
mount /dev/sdb1 /mnt/sdb1
cd /mnt/sdb1
sysbench --test=fileio --file-total-size=4G prepare
sysbench --test=fileio --file-total-size=4G --file-test-mode=rndrd --max-time=5 run
sysbench --test=fileio --file-total-size=4G --file-test-mode=rndwr --max-time=5 run
sysbench --test=fileio --file-total-size=4G cleanup
cd /mnt
umount /mnt/sdb1

Les résultats du test

Les résultats sont exprimés, dans le tableau ci-dessous, en Mo/s :

  Read (Mo/s) Write (Mo/s)
Ext4 609.160 86.580
Xfs 672.000 93.125
Btrfs 502.650 31.753
Jfs 733.160 27.184
ReiserFs 621.440 87.460
Moyenne 627.682 65.220
Ntfs 129.560 61.419

Synthèse : the winner is… xfs !

Btrfs apparaît comme le système le moins performant. Jfs est le plus rapide en lecture ; Xfs en écriture. Xfs semble aujourd’hui le meilleur compromis en termes de performances pour vos systèmes de fichiers Linux. L’inconvénient de Xfs, c’est que le système de fichiers ne peut pas être réduit lorsqu’il est encapsulé dans un groupe de volumes LVM. Seuls les systèmes de fichiers ext4 peuvent être retaillés à chaud avec LVM !

NB Je n’ai pas testé le système de fichier Nilfs2.

Linux  / Btrfs Ext4 Fedora Formateur Fedora Formateur Linux Jfs Linux Partitionnement ReiserFs Sysbench Xfs