Ziemlich komplex. Es gibt signifikante Unterschiede zwischen den von Ihnen erwähnten Dateisystemen, und die Bestimmung der Auswirkungen dieser Unterschiede auf die Geschwindigkeit ist meiner Meinung nach nicht trivial und hängt davon ab, welche Vorgänge ausgeführt werden.
Lassen Sie uns zunächst die Möglichkeit verwerfen, Ihr Root-Dateisystem auf einer FAT- oder NTFS-Partition zu installieren. Diese Dateisysteme sind nicht ordnungsgemäß mit dem Linux-Kernel kompatibel, und die Berechtigungen für das Linux-Dateisystem funktionieren auf ihnen nicht ordnungsgemäß, sodass Sie viele interessante Probleme haben würden.
Hinweis : FAT32 ist eine gute Wahl für USB-Installationsmedien, und NTFS ist eine gute Wahl in einem Dual-Boot-Szenario (mit Windows) für Partitionen, in denen Sie persönliche Inhalte (wie z. B. Ihre Medienbibliothek) speichern möchten, auf die zugegriffen werden soll sowohl für Ubuntu (oder ein anderes Linux-System) als auch für Windows. Linux-Systeme können NTFS-Partitionen lesen (und darauf schreiben), solange sie korrekt bereitgestellt wurden, aber ext * -Partitionen sind für Windows (soweit ich weiß) nicht leicht lesbar.
Die ext * -Systeme wurden für die Verwendung mit dem Linux-Kernel entwickelt. Die Verwendung von ext2,3 oder 4 für Ihre Ubuntu-Installation wäre völlig vernünftig. Wahrscheinlich sind die größten Unterschiede zwischen ihnen
- ext2 ist nicht journalistisch
- ext3 ist ein Journal, hat aber ansonsten ähnliche Datenstrukturen und Funktionen wie ext2
- ext4 ist ein Journal und verfügt über einige leistungssteigernde Funktionen, einschließlich eines schnelleren Algorithmus für die Blockzuweisung im Vergleich zu früheren ext * -Systemen, obwohl es ähnliche Datenstrukturen aufweist.
Ich denke, es ist wichtig zu beachten, dass die Geschwindigkeit nicht die einzige Überlegung bei der Auswahl eines Dateisystems ist. Ext4 hat weniger Einschränkungen als frühere Versionen und ermöglicht ein größeres Dateisystem, unbegrenzte Unterverzeichnisse usw. Ext3 wird von einigen als bewährter, sicherer und mit etwas geringerer Wahrscheinlichkeit für Datenverlust angesehen. Ich werde versuchen, mich hier auf die Geschwindigkeit zu konzentrieren, während ich neben der Leistung nur die wichtigsten Dinge erwähne.
Warte was? Journaling? 1
Kurz gesagt, ein Journalling-Dateisystem führt ein Protokoll der Änderungen, die noch nicht in den Hauptteil des Dateisystems geschrieben wurden. Dies geschieht, damit im Falle eines Absturzes die Konsistenz des Dateisystems leicht überprüft werden kann, indem das Journal mit dem verglichen wird, was in den Hauptbereich des Dateisystems geschrieben wurde. Dies bedeutet, dass die Überprüfung des Dateisystems mit ext3 und ext4 viel schneller ist. Da mit ext4 nicht zugewiesene Blöcke markiert werden können, kann die Überprüfung übersprungen werden, was die Arbeit fsck
noch beschleunigt.
Ext4 prüft auch das Journal (wodurch weniger E / A-Wartezeiten beim Schreiben möglich sind), was insgesamt zu einer leichten Geschwindigkeitssteigerung im Vergleich zu ext3 führt.
Das Überprüfen der Konsistenz des Dateisystems ist möglicherweise nicht sehr oft erforderlich, und das Journaling hat seinen Preis - mehr Festplattenschreibvorgänge. Dies ist nicht nur schlecht für die Lebensdauer einer schnellen SSD, sondern kann auch die Leistung beeinträchtigen (das Schreiben braucht Zeit). Der allgemeine Konsens scheint jedoch zu sein, dass das Journaling die Kosten wert ist.
Leistungssteigernde Funktionen von ext4
Ext4 unterstützt den fallocate()
Systemaufruf, um Speicherplatz für eine Datei vorab zuzuweisen. Der Kernel weist einige Blöcke zu und markiert sie als initialisiert, ohne darauf zu schreiben. Dies ist viel schneller als das Schreiben von Nullen in den Speicherplatz, wie dies in älteren Dateisystemen der Fall war.
Es wird auch eine verzögerte Zuweisung (oder Allocate-on-Flush ) verwendet, bei der Zuweisungen gestapelt werden (anstatt viele kleine auszuführen), wodurch die CPU-Auslastung verringert und eine Fragmentierung vermieden wird.
Ext4 ist abwärtskompatibel mit ext2 und ext3, was bedeutet, dass ext2- und 3-Dateisysteme als ext4 gemountet werden können und einen bescheidenen Leistungsvorteil genießen, da einige Funktionen wie der neue Blockzuweisungsalgorithmus verwendet werden können.
Andere Dateisysteme
Ext * sind nicht die einzigen vollständig Linux-kompatiblen Dateisysteme, obwohl sie die bekanntesten und am meisten getesteten sind. Andere Dateisysteme verwenden Alternativen zum Journaling und verfügen über innovative Funktionen, die sich auf die Leistung auswirken können. Btrfs verwendet beispielsweise eine Kopie beim SchreibenMethode zur Wahrung der Integrität des Dateisystems anstelle eines Journals. Es hat andere Datenstrukturen als ext * -Systeme. Soweit ich weiß, bietet Btrfs keine schnellere allgemeine Leistung als ext4, wird jedoch als besonders gut für die Archivierung von Foto-Videodateien angesehen, da sie weniger wahrscheinlich beeinträchtigt werden. Dadurch kann die Konsistenz des Dateisystems während der Verwendung überprüft und bereinigt werden, was je nach Anwendungsfall Zeit sparen kann. In Zukunft könnten Btrfs oder ein anderes innovatives Dateisystem weiterentwickelt werden, um ext4 in Bezug auf die allgemeine Geschwindigkeit überzeugend zu übertreffen.
Fazit
Die meisten Ubuntu-Benutzer, die nach einer guten Leistung suchen, werden vorerst bei ext4 bleiben wollen ...
1 Dieses und andere Linux-Dateisystemkonzepte werden unter Grundlegendes zum Linux-Kernel sehr gut erklärt .