Aktuelles

ZFS niedrige Readperformance

xXThunderbyteXx

Experte
Thread Starter
Mitglied seit
15.11.2014
Beiträge
920
Hi,

Ich habe hier für Testzwecke einen kleinen ZFS Proxmox Server mit einer SSD und einer 8TB CMR HDD stehen.


Ich benötige eine VM mit ein paar TB Speicher, daher habe ich an die entsprechende VM 4TB der HDD zugewiesen, als XFS gemounted und testweise einen Samba Server installiert.
Das funktioniert auch soweit ohne Probleme und via Samba kann ich problemlos mit 112mb/s schreiben.

Nun ist mir jedoch aufgefallen, dass die Readperformance lediglich bei 80mb/s liegt (teilweise auch tiefere drops), der Host langweilt sich währenddessen jedoch, keine hohe CPU/RAM Auslastung oder io_delay.


Proxmox nutze ich nun schon seit Jahren, mit ZFS habe ich jedoch nur wenig Erfahrung, hat jemand eine Vermutung an was das liegen könnte?
Getestet wurde mit einzelnen großen Dateien (10-20GB), daher sollten hier die IOPS nicht limitieren.

Es ist mir auch etwas unverständlich, wie die Writeperformance höher sein kann, als die Readperformance.
Ich würde mich daher über Ratschläge oder Hinweise sehr freuen!

Grüße und Danke!
Ian


Proxmox Server
Intel Pentium G4600
8GB DDR4 Dualchannel
250GB SSD Boot
8TB WD CMR (als ZFS RAID0 in Proxmox gemounted -> für Singledisk)


1621183043759.png
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.

asche77

Experte
Mitglied seit
22.07.2013
Beiträge
567
Nachsehen - die haben oft unterschiedliche Leistung ingress und egress, so jedenfalls bei mir mit SMB.
Beitrag automatisch zusammengeführt:

Ansonsten: mehr RAM = mehr Readcache = Entspannung beim IOPS Flaschenhals der HDD.
 

xXThunderbyteXx

Experte
Thread Starter
Mitglied seit
15.11.2014
Beiträge
920
Hab gerade geschaut, ist Intel.

Der RAM wird ja nahezu nicht genutzt und selbst ohne sollte doch eine große einzelne Datei mit mehr als 80MB/s gelesen werden?
 

emerald

Enthusiast
Mitglied seit
04.03.2003
Beiträge
2.301
Ort
Berlin
Writeperf ist höher, da WRITE gegen den RAM gepuffert, aggregiert wird und dann auf die HDD ausgeschrieben. Bei READ ist der Flaschenhals Applikation/Protokolle/HDD, der ARC Cache wird hier sicher nicht greifen. Mit Sicherheits dümpelt der SATA io-queue bei 1-2 request maximal, obwohl deutlich mehr gehen würde. m.M.n. ist das Ergebnis nicht abnormal.

Versuch mal bei READ zu puffern, z.B. mit mbuffer.
 

xXThunderbyteXx

Experte
Thread Starter
Mitglied seit
15.11.2014
Beiträge
920
Danke dir, das klingt logisch.

Ist das dann bedingt durch ZFS?
Bei einzelnen großen Dateien sollte die Readperformance doch bei rund 150mb/s liegen.


Ich bin recht neu bei ZFS, daher habe ich noch keine wirklichen Einschätzungen, was die Hardwareanforderungen angeht.
 

emerald

Enthusiast
Mitglied seit
04.03.2003
Beiträge
2.301
Ort
Berlin
ZFS kann weitaus mehr. Wenn du auf der Proxmox Kommandozeile mittels dd z.b. direkt die Readperf testest, wird sich das sicher zeigen.

Die Problematik liegt imho an den Applikationen/Protokollen oben darauf. Um den Flaschenhals zu finden, musst du ggf. eins nach dem anderen durchtesten.
 

xXThunderbyteXx

Experte
Thread Starter
Mitglied seit
15.11.2014
Beiträge
920
Hmm, ich werde mal testweise die HDD direkt durchreichen
Beitrag automatisch zusammengeführt:

Hier nun ein Test mit direkt durchgereichter HDD:

1621768887010.png



Geschrieben wir mit konstanten 116MB/s, also dem Limit des Gigabit Netzwerks.
Interessanterweise ist die Readgeschwindigkeit aber auch hier bei maximal 85MB/s.

Die CPU langweilt sich, die IO Wait ist auch nur bei 5-10.




Code:
root@debian:/hdd# hdparm -Tt /dev/sdb1

/dev/sdb1:
 Timing cached reads:   17836 MB in  1.99 seconds = 8941.01 MB/sec
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 Timing buffered disk reads: 606 MB in  3.00 seconds = 201.74 MB/sec




root@debian:/hdd# dd if=/dev/zero of=output conv=fdatasync bs=384k count=1k; rm -f /tmp/output
1024+0 records in
1024+0 records out
402653184 bytes (403 MB, 384 MiB) copied, 2.63633 s, 153 MB/s



Scheint so als läge es an Samba
 
Zuletzt bearbeitet:

xXThunderbyteXx

Experte
Thread Starter
Mitglied seit
15.11.2014
Beiträge
920
ZFS habe ich als Fehlerquelle ja schon ausgeschlossen, indem ich die HDD direkt an die VM durchgereicht habe und diese als XFS gemounted wurde.

Interessanterweise ist mir auch schon ein ähnliches Problem auf einem Raspberry Pi 4 aufgefallen, der eine 8TB HDD via USB angeschlossen hat.
Write ist Problemlos mit 116mb/s möglich, die Readperformance schwankt zwischen 80-100MB/s.


Das ganze hat mit einem Kernelupdate Anfang des Jahres begonnen, ich vermute hier gibt es irgendeinen Bug.

Hat jemand eine Ahnung, wie ich das Debuggen kann?
 

Ceiber3

Enthusiast
Mitglied seit
21.11.2011
Beiträge
3.759
Ich habe bei SMB 1 Gbit immer voll Speed egal ob read oder write.
 

xXThunderbyteXx

Experte
Thread Starter
Mitglied seit
15.11.2014
Beiträge
920
Hmm, ich wüsste nicht, woran das sonst liegen sollte.

Welches OS + Kernel Version und Samba Version hast du laufen?
 

Ceiber3

Enthusiast
Mitglied seit
21.11.2011
Beiträge
3.759
Ich nutze kein ZFS, es spielt aber keine Rolle welches Gerät das ist, ob in UnRaid, ESXI, Windows oder Xpenology. Da schwankt auch nichts. Ich denke bei dir stimmt einfach was nicht.
 

xXThunderbyteXx

Experte
Thread Starter
Mitglied seit
15.11.2014
Beiträge
920
Ich kann mir beim besten Willen nicht vorstellen, was da nicht stimmen sollte.

Sowohl die VM als auch der Pi sind quasi eine minimale Debian Installation + Samba + XFS.
Der Share zeigt auf die als XFS gemountete HDD, mehr nicht.

Write ist ja problemlos mit 112MB/s möglich, nur Read macht Probleme.
Getestet mit zwei verschiedenen Clients, Windows und macOS.

Bei meiner Synology tritt das Problem zudem nicht auf.
 
Oben Unten