Dateisysteme im Performancetest

ext2, ext3, ext4, btrfs, jfs, xfs, hfs+ oder doch lieber ntfs. Unter unixoiden Betriebsystem hat man bei der Auswahl des Dateisystem schnell die Qual der Wahl. Im Internet findet man gefühlt unendliche viele Tests und Diskussionen sowie Empfehlungen. Letztendlich ist die Antwort auf die Frage: “Welches Dateisystem soll ich den jetzt nehmen ?” Häufig: “Das kommt darauf an was du damit machen willst.”

Stimmt! Dem kann ich nur zustimmen. Deswegen soll dieser Test auch keiner unter Laborbedingungen sein in dem jedes Dateisystem optimal konfiguriert und auf seine Umgebung abgestimmt wurde um möglichst aussagekräftige und vergleichbare Werte zu schaffen. Er soll nur Zahlenmaterial für einen bestimmten Fall schaffen, dass dann frei interpretiert werden kann.

Der Fall

Bob: Hey, cooler Film – kannste mir den auf die Platte oder den Stick ziehen*.
Alice: Klar! In HD – Sind dann aber 3,2 GB ?
BobJo gerne – Ist zwar nur USB 2.0 aber egal.

* Es handelt sich natürlich um einen Film wie die Dokumentation Earth bei der keine Urheberrechtsverletzung zu befürchten ist!

Die Fakten

Das Betriebssystem ist ein Ubuntu 14.04 LTS mit einem Kernel der Version 3.13.0-36-generic. Die Software ist auf dem letzten Stand der Ubuntu Software Repositories vom 6.10.2014. Die Zielfestplatte wurde mit dem mkfs Befehl ohne extra Parameter mit dem jeweiligen Dateisystem vorbereitet.

Den Film simuliert eine Binärdatei von 3,2 GB Größe welche auf eine per USB 2.0 angeschlossene externe magnetische Festplatte (Icybox Dockingstation) geschrieben und gelesen wird. Durch die USB 2.0 Verbindung ergibt sich eine maximale Übertragungsrate von 480 Mbits/s bzw. 60 MBytes/s (Siehe: Wikipedia). Zum Lesen und Schreiben habe ich folgende Befehle verwendet (Siehe: Ubuntu Community Docs):

Schreiben:

dd if=/dev/zero of=/media/fs-performance-test/test-file bs=32 count=100663296

Lesen:

dd if=/media/fs-performance-test/test-file of=/dev/null bs=32

Ich habe mich bewusst für nur eine Messung entschieden, denn im Alltag hat das Dateisystem nur einen Versuch und nicht immer optimale Bedingungen. Kurzum: Keine zweite Chance – Wer bremst verliert!

Das Ergebnis

Dateisystem Ø Schreiben (MB/s) Ø Lesen (MB/s) Schreibdauer (Minuten) Lesedauer (Minuten) Punkte Schreiben Punkte Lesen Punkte Gesamt
jfs 23,8 33,3 2,25 1,61 8 5 13
hfs+ 22,3 33,7 2,40 1,61 6 6 12
xfs 23,2 30,1 2,31 1,78 7 4 11
btrfs 9,0 34,4 5,98 1,56 2 8 10
ntfs 0,6 34,2 83,40 1,57 1 7 8
ext2 17,5 26,5 3,06 2,02 5 2 7
ext4 12,9 29,7 4,15 1,81 3 3 6
ext3 13,6 24,6 3,93 2,18 4 1 5

Anmerkung:Ich möchte noch einmal betonen wie wichtig es ist ein Dateisystem in Gänze zu betrachten um es im Produktiveinsatz zu benutzen. Dieser Test berücksichtigt nicht die Zuverlässigkeit der Dateisysteme, Features die bei intensiver und langer Nutzung die Performance erheblich beeinflussen können wie Journaling oder die Stärke des Copy-On-Write bei btrfs. Ebenso wichtig ist die richtige Konfiguration wie auch Hardware mit genügend RAM usw. Das widerrum sind Themen für mindestens einen weiteren Blogbost zu diesem Thema. 😉