{"id":1377,"date":"2023-11-09T14:18:29","date_gmt":"2023-11-09T14:18:29","guid":{"rendered":"https:\/\/byte-bucket.com\/2023\/11\/09\/openzfs-neue-anpassungen-verbessern-skalierungs-und-geschwindigkeitsprobleme\/"},"modified":"2023-11-09T14:18:29","modified_gmt":"2023-11-09T14:18:29","slug":"openzfs-neue-anpassungen-verbessern-skalierungs-und-geschwindigkeitsprobleme","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=1377","title":{"rendered":"OpenZFS: Neue Anpassungen verbessern Skalierungs- und Geschwindigkeitsprobleme"},"content":{"rendered":"<p>OpenZFS, das beliebte Dateisystem f\u00fcr Linux, hat mit Skalierungs- und Geschwindigkeitsproblemen beim Schreiben auf Datentr\u00e4gern zu k\u00e4mpfen gehabt. Doch Edmund Nadolski von iXsystems hat nun verschiedene Anpassungen ver\u00f6ffentlicht, um diese Probleme zu verbessern. Und das ist eine gute Nachricht f\u00fcr alle, die auf OpenZFS setzen.<\/p>\n<p>Eine der Verbesserungen betrifft die M\u00f6glichkeit, mehr als einen Datensatz oder ein Objekt gleichzeitig zu synchronisieren. Das bedeutet, dass die Daten schneller auf die Festplatte geschrieben werden k\u00f6nnen. Das ist vor allem dann wichtig, wenn viele \u00c4nderungen an den Daten vorgenommen wurden und diese auf die Festplatte \u00fcbertragen werden m\u00fcssen.<\/p>\n<p>Ein weiterer Aspekt, den Nadolski angegangen ist, betrifft die Verarbeitung von dnodes. Ein dnode ist eine Datenstruktur in OpenZFS, die ein ZPL-Objekt repr\u00e4sentiert. Dieses Objekt kann verschiedene Formen annehmen, wie beispielsweise eine Datei, ein Verzeichnis oder ein ZVOL-Volume, oder auch interne Metadaten darstellen. Ein ZFS-dnode kann mit den inodes von UFS und anderen Dateisystemen verglichen werden.<\/p>\n<p>Um \u00c4nderungen an einem ZFS-Objekt durchzuf\u00fchren, wie zum Beispiel einer Datei, werden Puffer im Arbeitsspeicher verwendet. Diese Puffer enthalten die modifizierten Daten, die auf die Festplatte geschrieben werden m\u00fcssen. Hier kam es bisher zu Engp\u00e4ssen und Sperrkonflikten, da dieser Vorgang nicht parallel ausgef\u00fchrt werden konnte.<\/p>\n<p>Doch Nadolski hat mit dem Patch #15197 eine L\u00f6sung f\u00fcr dieses Problem entwickelt. Durch diesen Patch ist es nun m\u00f6glich, die Synchronisierung der dnodes parallel auszuf\u00fchren. Das f\u00fchrt zu einer deutlichen Verbesserung der Leistung beim Schreiben auf die Festplatte.<\/p>\n<p>Um die Auswirkungen des Patches zu testen, f\u00fchrte Nadolski beeindruckende Tests mit dem flexiblen I\/O-Tester fio(1) durch. Dabei wurden mehrere Threads\/Prozesse verwendet, um parallele I\/O-Aktionen auszul\u00f6sen. Die Tests wurden auf einem 32-kernigen AMD-Epyc-7313-Server mit OpenZFS durchgef\u00fchrt. Dieser Server verf\u00fcgte \u00fcber je 16 Kerne, 256 GByte RAM und NVMe-Storage.<\/p>\n<p>Die Ergebnisse der Tests waren beeindruckend. Durch den Patch von Edmund Nadolski verbesserte sich der Datendurchsatz beim Schreiben von 1328 MByte\/s auf 2495 MByte\/s. Das ist eine Steigerung um fast das Doppelte! Das zeigt deutlich, dass die Anpassungen von Nadolski eine sp\u00fcrbare Verbesserung der Performance bringen.<\/p>\n<p>Allerdings bleibt abzuwarten, ob der Patch zfs sync parallelism #15197 auch in der Praxis eine merkliche Steigerung der Leistung bringt. Es wird noch unabh\u00e4ngige Tests geben m\u00fcssen, um dies zu best\u00e4tigen. Aber die bisherigen Ergebnisse lassen auf jeden Fall aufhorchen und geben Grund zur Hoffnung, dass OpenZFS noch besser wird.<\/p>\n<p>Schlagw\u00f6rter: OpenZFS + Skalierungs und Geschwindigkeitsverbesserungen + Edmund Nadolski<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenZFS, das beliebte Dateisystem f\u00fcr Linux, hat mit Skalierungs- und Geschwindigkeitsproblemen beim Schreiben auf Datentr\u00e4gern zu k\u00e4mpfen gehabt. Doch Edmund Nadolski von iXsystems hat nun verschiedene Anpassungen ver\u00f6ffentlicht, um diese Probleme zu verbessern. Und das ist eine gute Nachricht f\u00fcr alle, die auf OpenZFS setzen. Eine der Verbesserungen betrifft die&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":1376,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1377","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/1377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1377"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/1377\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/1376"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}