it-swarm.com.de

XFS vs ext4 Leistung

Laut dieser Blog ,

XFS ist ein altes Dateisystem und arbeitet langsam mit kleinen Dateien.

Mein erster Eindruck beim Lesen von XFS war nicht gut.

Allerdings hat mir jemand gesagt, dass XFS die Leistung der Festplatte verbessert und dieser Benchmark keinen Sinn ergibt.

(enter image description here

Also habe ich mehr darüber recherchiert und die folgenden Fakten gefunden.

wikipedia sagt das

XFS ist ein leistungsstarkes 64-Bit-Journaling-Dateisystem, das 1993 von Silicon Graphics, Inc. (SGI) erstellt wurde. Es war das Standarddateisystem im IRIX-Betriebssystem von SGI ab Version 5.3. XFS wurde 2001 auf den Linux-Kernel portiert. Ab Juni 2014 wird XFS von den meisten Linux-Distributionen unterstützt, von denen einige es als Standarddateisystem verwenden.

wikipedia wieder ...

Metadatenvorgänge in XFS waren in der Vergangenheit langsamer als in anderen Dateisystemen, was beispielsweise zu einer schlechten Leistung bei Vorgängen wie dem Löschen einer großen Anzahl von Dateien führte.

Und howtogeek sagt das

XFS bietet eine gute Leistung beim Umgang mit großen Dateien, jedoch eine schlechtere Leistung als andere Dateisysteme beim Umgang mit vielen kleinen Dateien. Dies kann für bestimmte Servertypen nützlich sein, die hauptsächlich mit großen Dateien arbeiten müssen.

Sind diese Fakten und der Benchmark korrekt?

5
Sabrina

In einer früheren XFS-Frage/Antwort wurde diese Seite erwähnt: So wählen Sie Ihr Red Hat Enterprise Linux-Dateisystem aus . Ich denke, es wird Ihre Frage zur Leistung beantworten :-). Dies ist aus der offiziellen Red Hat Knowledgebase. Es wäre unangemessen, die gesamte Seite zu kopieren. Hier ist ein Vorgeschmack:

Eine andere Möglichkeit, dies zu charakterisieren, besteht darin, dass die Ext4-Dateisystemvarianten auf Systemen mit eingeschränkter E/A-Fähigkeit tendenziell eine bessere Leistung erzielen. Ext3 und Ext4 bieten eine bessere Leistung bei begrenzter Bandbreite (<200 MB/s) und bis zu ~ 1.000 IOPS-Funktionen. Für alles mit höheren Fähigkeiten ist XFS tendenziell schneller. XFS verbraucht im Vergleich zu Ext3 und Ext4 etwa doppelt so viel CPU pro Metadaten. Wenn Sie also eine CPU-gebundene Arbeitslast mit geringer Parallelität haben, sind die Ext3- oder Ext4-Varianten schneller. Im Allgemeinen ist Ext3 oder Ext4 besser, wenn eine Anwendung einen einzelnen Lese-/Schreibthread und kleine Dateien verwendet, während XFS leuchtet, wenn eine Anwendung mehrere Lese-/Schreibthreads und größere Dateien verwendet.

Vorherige Antwort

Hier ist eine frühere Version dieser Antwort. Ich habe es angepasst und erweitert, um den Kontext bereitzustellen und die obige Quelle zu bestätigen. Es ist nicht alles wesentliche Lektüre.


Es ist nicht sinnvoll, XFS zu vermeiden, weil es alt ist . Es gibt viele Ähnlichkeiten zwischen XFS und ext2/ext3/ext4, einschließlich ihrer langen und aktiven Lebensdauer.

XFS ist das wichtigste unterstützte Dateisystem für RedHat Enterprise Linux. Es wurden große Anstrengungen unternommen, um XFS im Laufe der Zeit zu entwickeln, insbesondere von RHEL. Die schiere Anzahl neuer und erweiterter Funktionen ist in XFS höher :-). Siehe z. Unterstützung für "Reflink".

"Desktop Linux" -Installationen, die auch auf moderne Laptops abzielen, verwenden im Allgemeinen immer noch ext4. ext4 bietet eine sehr vertraute und bekannte Umgebung.

Auf einem durchschnittlichen Desktop-PC gelten die Vorteile von XFS nicht unbedingt. ext4 kann Vorteile haben, einschließlich Leistungsvorteile. Wenn Sie die obigen Zahlen zum Nennwert nehmen, deuten sie darauf hin, dass XFS auf schnellen modernen Laptops einen Vorteil haben könnte!

Derzeit ist der ext4-Betreuer bei Google beschäftigt. ext4 wird in Googles Android OS) verwendet. Daher wird ext4 in vielen Telefonen und Tablets verwendet, die über weniger leistungsstarke Hardware verfügen . [1][2]

Ich finde ext4 auch praktisch, weil Sie die Dateisystempartitionen verkleinern können. Dies ist möglicherweise nützlich, wenn Sie den von verschiedenen Installationen auf einer einzelnen Festplatte verwendeten Speicherplatz verwalten möchten. XFS unterstützt das Schrumpfen nicht, sondern nur das Wachsen. (Im Prinzip kann dies in LVM mithilfe von "Thin Provisioning" behoben werden. Siehe Stratis Storage, das XFS zusammen mit Thin Provisioning verwendet. Möglicherweise wird Stratis in Zukunft gestartet und alle Distributionen können auf Stratis installiert werden.).

In einigen Fällen wurde das ext4-Design als alt und chaotisch beschrieben. XFS hat es hier eindeutig etwas besser geschafft: Einfaches Kopieren (oder Schreiben) von Dateien verursacht eine Latenz von zehn Sekunden + im Linux-Dateisystem . UPDATE: Dieser Link erwähnt jetzt Patches, die eingereicht wurden, um ext4 hier zu verbessern, wahrscheinlich für Version 5.3 des Linux-Kernels. Und es könnte auch in Zukunft erhebliche Verbesserungen geben.

XFS "Leistung kleiner Dateien"

Die XFS-Leistung beim Umgang mit vielen kleinen Dateien war ursprünglich eine große Schwäche im Vergleich zu anderen Dateisystemen. Im Laufe der Zeit wurden Verbesserungen vorgenommen.

Eine große Änderung, die Sie beachten sollten, ist die verzögerte Protokollierung, irgendwann zwischen 2010 und 2012. Das heißt, Falls Sie Leistungsvergleiche für kleine Dateien sehen, die vor dieser Funktion erstellt wurden, sind diese nicht mehr relevant. Das verzögerte Protokollierungsdesign basierte stark auf der ext3-Protokollierung :-). Trotzdem gab es in verschiedenen Fällen immer noch Leistungsunterschiede zwischen den beiden. Siehe: https://lwn.net/Articles/476263/

(Zuvor wurde anscheinend "das Protokollformat der Version 2 im Jahr 2002 hinzugefügt, wodurch die Leistung von Metadaten erheblich verbessert wurde". Dies hilft jedoch wahrscheinlich nicht bei der Beantwortung dieser Frage :-).

Seitdem gibt es einige weitere Änderungen. Z.B. Das Red Hat-Dokument spiegelt möglicherweise nicht alle neuesten Änderungen wider. Ich habe dieses Zitat bemerkt:

[...] freie Inode B + -Bäume (finobt) für eine bessere Leistung auf "gealterten" Dateisystemen, und Dateitypen werden jetzt standardmäßig im Verzeichnis gespeichert (ftype = 1), was die Leistung in bestimmten Szenarien mit vielen (normalerweise kleinen) erheblich verbessert ) Dateien.

- Kommentar zu Was ist das leistungsstärkste Linux-Dateisystem zum Speichern vieler kleiner Dateien (HDD, nicht SSD)?

7
sourcejedi