Etwas schwer zu lesen da die Formatierung fehlt (besser als Code einfügen, dann bleiben die Spaces/Spalten erhalten)
Insgesamt sind die Werte bei den gewählten Workloads aber im Rahmen.
Für ein Verkaufsprospekt wäre natürlich sequentielles Schreiben ohne sync mit 1 Gbyte/s der Wert. Da spielt aber der ZFS RAM-Cache eine entscheidende Rolle. Mit 16GB RAM hat der immerhin schon 1,6 GB (10%). Ansonsten sind diese Testeinstellungen eher zum Optimieren von sehr schnellem Storage.
Der Syncwrite-Wert mit 34 Mbyte/s ist ein Hinweis auf die Schreibwerte ohne Schreib-Cache und mit kleinen Datenblöcken. 34 Mbytes/s ist für einen diskbasierten Z2 Pool eher ein guter Wert. Soll der Pool als ESXi Datastore dienen, würde hier ein Slog eine erhebliche Verbesserung bringen.
Bei den Lesewerten ist der RAM-Lesecache komplett deaktiviert (cache=none). Da in einem Z2 Raid die Daten ziemlich gleichmäßig über da svdev verteilt sind, gibt es kein echtes sequentielles Lesen (Daten am Stück auf der Platte). Der Wert zeigt also ziemlich brutal, wie schlecht ein Platten-Z2 Raid damit ohne Cache Unterstützung zurechtkommt. Immerhin hat ein Z2 vdev nur die iops einer Platte also ca 100. Zum Vergleich, eine gute Enterprise SSD hat 20-80k, eine große Intel Optane NVMe 500k iops.
Daher landet sequentielles Lesen auch nur bei 45 MBytes/s. Zufälliges Lesen kleiner Blöcke ist so schlecht wie erwartet. Dieser Test ist daher eher für SSD/NVMe interessant. Die tatsächlich zu erwartenden Werte würde eher ein Benchmark mit Lesecache=all liefern. Wenn es um größere Daten geht würde z.B. ein Workload wie singlestreamread, fivestreamread oder fileserver bessere Lesewerte für Normalbetrieb liefern. Damit sollten Lesewerte > 200 MB/s liegen. Tests die sehr stark vom Lesecache profitieren können sogar Lesewerte > 1GB/s zeigen. Diese Tests machen aber wenig Sinn wenn man den Pool selber einschätzen will und nicht die RAM Performance aus dem Cache.
Im aktuellen napp-it habe ich daher Readcache=all als default gesetzt.
Was noch interessant wäre ist die Frage ob alle Platten während des Tests eine gleiche Last (wait/busy) zeigen. Wenn da eine Platte deutlich schlechter ist als der Schnitt kann die komplett bremsen. (System > Basis Statistic > Disks oder Extension > Realtime Monitor > iostat (2))
Mit Schreib/Lese Ram-Cache aktiviert spricht aber nichts dagegen, dass der Pool ein 1G Netzwerk (> 100MB/s) lesend und schreibend auslasten kann. Schreib/ Lesewerte von 15-30 MB/s deuten auf ein anderes Problem (es sei denn man testet Performance bei kleinen Daten-Blöcken) oder auf aktiviertes Sync beim Schreiben.
Welches Tool wurde denn auf Windows benutzt?
Mein Lieblingstool für sequentielle Tests ist AJA. Damit kann man gut Videoperformance mit kleinen oder großen Einzelbildern testen (z.B. RGB, 4k Video)