Samba Schreibperformance fällt auf 1mb/s

Vengance

Renowned Member
May 21, 2016
271
12
83
34
Hallo,

Ich habe hier ein kleines Test System, welches über eine SATA SSD und eine 8TB CMR HDD verfügt.
Beide sind jeweils als ZFS-0 (für Singledisk) in Proxmox eingebunden.


Ich habe nun testweise eine Debian VM erstellt, welche die boot Disk auf der SSD hat und zusätzlich 4TB der HDD zugewiesen.
Bei einem Schreibtest via Samba musste ich feststellen, dass die Performance für den ersten Moment gut ist, und das gbit Netzwerk voll auslastet.


Nach kurzer Zeit bricht jedoch die Schreibperformance massiv ein und fällt teilweise auf 1mb/s.
Der Node ist recht klein Dimensioniert, aber ich dachte für eine einzelne Storage VM mit ein paar TB sollte das ausreichen?


CPU: Intel Pentium G4600
RAM: 8GB DDR4 Dualchannel




Habe ich zu wenig RAM, oder was ist in meinem Fall der Flaschenhals?


Danke!
Screenshot 2021-05-14 201905.png
 
Dein IO Delay ist sehr hoch, es kommt also der Storage nicht mehr nach. Hoher IO Delay kann an vielem liegen. HDD/SSD voll ausgelastet, ZFS kommt nicht mit oder SMB server überfordert.
Und 8GB RAM ist schon echt wenig für einen Hypervisor. Faustformel für ZFS ist 4GB + 1GB RAM je 1TB Rohkapazität der Laufwerke. Laut der Formel wären das schon 12GB RAM nur für ZFS und dann will ja Proxmox noch 1-2 GB RAM, deine Debian VM 1 GB und bei einer VM soll es ja vermutlich auch nicht bleiben.
Aktuell nutzt dein ZFS 4GB falls du da nichts geändert hast. Würde mich aber wundern, wenn das wegen den ARC so krass einbricht.
Bist du sicher, dass das wirklich eine CMR HDD ist? Diese krasse Einbruch von 100MB/s auf 1MB/s klingt für mich stark nach SMR.

Was sagt denn zpool iostat 5 10 und arc_summarywährend du was kopierst? zfs get all wäre auch hilfreich.
 
Last edited:
Ja, ist definitiv CMR, lief auch vorher problemlos im NAS und ist beim Aufrüsten dann ins Testsystem gewandert.

Ich habe die HDD innerhalb der VM nun mal als XFS gemountet, da EXT4 anfangs ja einen lazyinit im Hintergrund laufen hat.
Scheint besser zu sein, aber dennoch hin und wieder Einbrüche.


Wenn dann sollte es also am wenigen RAM liegen?
Die CPU ist zwar auch kein Monster, aber ich denke für ein kleines System mit einer einzelnen VM als Storage sollte das reichen.



Logs: https://pastebin.com/kcx46yKn
 
Laut zpool iostat hast du sehr viele IOPS auf der HDD. Die HDD ist also am Limit und kommt wegen all den kleinen Schreiboperationen nicht hinterher. Du könntest für die HDD z.B. mal atime deaktivieren, dass da jeder Lesezugriff nicht automatisch auch einen Schreibzugriff erzeugt (zfs set atime=off hdd).
Da müsstest du mal gucken ob du irgendwie die Write Amplification verringern kannst (z.B. mal testweise eine neue zvol mit volblocksize von 4K erstellen).

ARC sieht eigentlich ok aus.

Edit:
Ich nutze ganz gerne "iostat 600 2" auf dem Host um die Laufwerke zu überwachen. Kann man über apt update && apt install sysstat installieren. Die Tabelle direkt zum Start zeigt dann den Durchschnitt seit dem Reboot an. Nach 10 Minuten kommt eine zweite Tabelle welche den Durchschnitt in den letzten 10 Minuten anzeigt. Da kannst du dann auch gut die IOPS der HDD sehen. So 100 IOPS macht deine HDD vermutlich mit.
 
Last edited:
  • Like
Reactions: Vengance
Ich habe bei dem Test eine 20GB Testdatei via Samba geschrieben, ZFS Compression habe ich deaktiviert.

Die Logs stammen jedoch von dem Test mit XFS, der allgemein Performancetechnisch ja besser aussah
 
ZFS Kompression macht es meist schneller. LZ4 komprimiert nur, wenn es auch etwas bringt. Und dann ist die Verzögerung durch die Kompression kleiner als der Zeitgewinn weil weniger geschrieben werden muss.
 
  • Like
Reactions: Vengance
Der write Speed sieht nun weiterhin gut aus und liegt stabil bei 112mb/s via Samba, allerdings komme ich nicht über 80mb/s Lesegeschwindigkeit.
Der Host langweilt sich währenddessen, atime habe ich ebenfalls deaktiviert.


@Dunuin Hast du diesbezüglich noch eine Idee?



1621183043759.png
 
Du könntest noch die SMB Parameter etwas optimieren oder gucken das neue Seiten eine neuere SMB Version nutzen. Wenn du da nichts manuell einstellst handeln ja beide Seiten einen gemeinsamen Nenner aus.
 
Ich glaube nicht, dass es an Samba liegt, ich werde aber mal noch einen manuellen read Benchmark machen
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!