Btrfs ist ein Dateisystem, das sehr neu ist und sich noch in der Entwicklungs- und Benchmarking-Phase befindet. In Bezug auf die Leistung ist normalerweise nicht viel zu tun, da es mit den Standardoptionen gut funktioniert.
1. Die Leistung von Btrfs verbessert sich mit der Verwendung von SSD.
Btrfs ist SSD-fähig und nutzt TRIM/Discard aus, damit das Dateisystem unbenutzte Blöcke zur Wiederverwendung an das Speichergerät melden kann. Auf SSDs vermeidet Btrfs unnötige Suchoptimierung und sendet Schreibvorgänge aggressiv in Clustern, selbst wenn sie von nicht verwandten Dateien stammen.
Hinweis :Sie mounten mit -o ssd, um das Tuning zu aktivieren.2. Online-Defragmentierung aktivieren.
Btrfs bietet eine Mount-Option (-o autodefrag ), die einen Helfer für die automatische Defragmentierung aktiviert. Wenn ein Block kopiert und auf die Festplatte geschrieben wird, markiert der Helfer für die automatische Defragmentierung diesen Teil der Datei zur Defragmentierung und übergibt ihn an einen anderen Thread, sodass die Fragmentierung automatisch im Hintergrund reduziert werden kann. Diese Funktion kann erhebliche Vorteile für kleine Datenbank-Workloads, Browser-Caches und ähnliche Workloads bieten. Das Tolle ist, dass die Defragmentierung stattfinden kann, während das Dateisystem gemountet ist und aktiv Operationen ausführt.
3. Verwenden Sie die noatime-Option anstelle von relatime.
Die Einhängeoption noatime kann Ihr Dateisystem beschleunigen, insbesondere wenn Sie viele Schnappschüsse haben. Jeder Lesezugriff auf eine Datei soll ihre Unix-Zugriffszeit aktualisieren. COW wird passieren und noch mehr Schreibvorgänge machen. Standard ist jetzt relatime, wodurch die Zugriffszeiten seltener aktualisiert werden.
4. Andere Mount-Optionen
Nachfolgend finden Sie einige andere Befestigungsoptionen, die Sie je nach Bedarf und Anforderungen in Betracht ziehen können.
- space_cache – Btrfs speichert die freien Speicherplatzdaten auf der Festplatte, um das Caching einer Blockgruppe viel schneller zu machen (Kernel 2.6.37+). Es ist eine dauerhafte Änderung und es ist sicher, in alte Kernel zu booten.
- nodatacow – Kopieren Sie keine Daten beim Schreiben. datacow wird verwendet, um sicherzustellen, dass der Benutzer entweder Zugriff auf die alte Version einer Datei oder auf die neuere Version der Datei hat. datacow stellt sicher, dass wir niemals teilweise aktualisierte Dateien auf die Festplatte geschrieben haben. nodatacow gibt einen leichten Leistungsschub, indem es Daten (wie ext[234]) direkt überschreibt, auf Kosten von möglicherweise teilweise aktualisierten Dateien bei Systemausfällen. Die Leistungssteigerung beträgt normalerweise <5 %, es sei denn, die Arbeitslast besteht aus zufälligen Schreibvorgängen in große Datenbankdateien, bei denen der Unterschied sehr groß werden kann
- compress=zlib – Besseres Kompressionsverhältnis. Es ist die Standardeinstellung und sicher für ältere Kernel.
- compress=lzo – Schnellste Komprimierung. btrfs-progs 0.19 oder älter schlagen mit dieser Option fehl. Der Standard im Kernel 2.6.39 und neuer.
- Autodefragmentierung – erkennt zufällige Schreibvorgänge in vorhandene Dateien und startet die Defragmentierung im Hintergrund. Es eignet sich gut für bdb- oder sqlite-Datenbanken, aber (noch) nicht für Virtualisierungs-Images oder große Datenbanken. Sobald die Entwickler sicherstellen, dass Dateien nicht immer wieder defragmentiert werden, verschieben sie dies in Richtung Standard. (Kernel 3.0+)
- inode_cache – Aktivieren Sie den neuen kostenlosen Inode-Cache. Diese Option kann Ihr System beim ersten Start verlangsamen. (Kernel 3.0+)
„btrfs“-Befehlsbeispiele zum Erstellen und Verwalten eines Btrfs-Dateisystems