Login
Newsletter
Werbung

Mo, 19. Januar 2009, 00:00

Das Dateisystem ext4

Eigenschaften und Benchmarks

Hans-Joachim Baader (hjb)

Hans-Joachim Baader (hjb)

Auch das Erzeugen und Löschen von Dateien hing stark von den Parametern ab. Im ersten Durchlauf hatten wir die Standardwerte verwendet, bei denen bonnie++ mit Dateigrößen von 0 arbeitet. Da leere Dateien in der Praxis unbedeutend sind, ließen wir Dateien in späteren Läufen mit einer zufälligen, gleichverteilten Größe von 0 bis 1999 Bytes erzeugen. Ob durch diese Wahl bestimmte Dateisysteme begünstigt werden, konnte aus Zeitgründen nicht ermittelt werden. Das Ergebnis war, dass ext3 und ext4 deutlich in Führung lagen und die anderen Dateisysteme um ein Mehrfaches übertrafen. In der Praxis dürfte es jedoch nur wenige Anwendungen geben, in denen so viele Dateien erzeugt oder gelöscht werden, dass diese Werte eine Rolle spielen.

Es wurde der Wert für das sequentielle Erzeugen von Dateien verwendet. Beim zufällig verteilten Erzeugen von Dateien waren alle Dateisysteme ein wenig langsamer. jfs allerdings war um Faktor 10 langsamer als beim sequentiellen Erzeugen.

Hans-Joachim Baader (hjb)

Beim Löschen von Dateien von 8 GB Größe gab es erhebliche Schwankungen bei der benötigten Gesamtzeit. Angegeben ist daher in der Tabelle als erstes die reine Systemzeit, die wesentlich weniger Varianz zeigte. Diese ist auch im Diagramm dargestellt. Bemerkenswert verhielt sich hier jfs, das überhaupt keine Zeit mit dem Löschen versäumte. ext4 schnitt im wahrsten Sinn des Wortes besser ab als ext3. Reiserfs erwies sich als langsamer.

Für die Anwender ist interessanter, wie schnell der Systemaufruf zum Löschen der Datei zurückkehrt. Die minimal gemessene Zeit war hier bei allen Dateisystemen nur geringfügig höher als die Systemzeit. ext2 und ext3 stellten eine Ausnahme dar, die vielleicht auf eine zu geringe Zahl von Messungen zurückzuführen ist. Ein sehr merkwürdigen Phänomen zeigte sich darin, dass das Löschen bisweilen erheblich länger dauerte, mitunter mehr als zwanzigmal so lang wie im minimalen Fall. Das deckte sich mit früheren Beobachtungen, die wir am Dateisystem ext3 machten. Lediglich jfs konnte bei keinem solchen Ausreißer ertappt werden. Die Ursache des Problems könnte im Kernel unterhalb der Dateisystem-Ebene liegen, da alle Dateisysteme betroffen waren (ob jfs eine Ausnahme darstellt, kann noch nicht als sicher gelten). Entwickler von Echtzeit-Anwendungen sollten sich über dieses Verhalten im Klaren sein und einen Workaround vorsehen.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung