Samba Performance Probleme

Probleme mit Samba, NFS, FTP und Co.
Antworten
ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Samba Performance Probleme

Beitrag von ThunderByte » 05.10.2020 19:36:26

Hallo,

Ich betreibe auf einem Raspberry PI 4 einen Samba Server.
Der PI hat eine externe 8TB WD MyBook (kein SMR) via USB 3 angeschlossen.


In den meisten Fällen funktioniert der Transfer problemlos und ich reize das Gigabit Netzwerk mit 111mb/s komplett aus.
Nun musste ich jedoch festellen, dass teilweise die Schreibrate extrem schwankt, zwischen rund 70mb/s und 100mb/s oder auf knapp 100mb/s "feststeht".
Bei allen Tests wurden einzelne große Dateien genutzt, zwischen 10GB und 50GB.


Scheinbar hilft es dann jedoch den Client (eine Windows Workstation) neu zu starten und anschließend läuft der Transfer für eine gewisse Zeit wieder ohne Probleme.


Die Temperatur ist wärend des Transfers im grünen Rahmen, es findet also keine Drosselung statt.
Der IO delay ist ungefähr doppelt so hoch, wenn die Schreibgeschwindigkeit wie bereits erwähnt Probleme macht.

Hier die beschriebenen Probleme (oftmals noch deutlich stärkere Schwankungen als hier dargestellt):
Bild


Hier nach einem Neustart des Clients:

Bild


Hat jemand eine Idee was hier die Ursache sein könnte?
Ich bin mitlerweile absolut ratlos und kann auch kein Muster erkennen.
Ich kann mir auch nicht wirklich erklären, ob es Client Seitig oder Serverseitig ist, ich tippe eher auf ersteres, da ja meistens ein Neustart des Clients geholfen hat.


Grüße
Ian

Samba config:

Code: Alles auswählen

[global]
wins support = yes
workgroup = WORKGROUP
server string = nas
netbios name = nas
security = user
map to guest = Bad User
protocol = SMB3
load printers = no
disable spoolss = yes
max log size = 50
socket options = IPTOS_LOWDELAY TCP_NODELAY
deadtime = 30
use sendfile = yes
read raw = yes
write raw = yes


[ian]
comment = Privat
path = /mnt/hdd/ian
write list = ian
valid users = ian
force user = ian

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Samba Performance Probleme

Beitrag von unitra » 10.11.2020 15:49:53

Empfehlung: Verbinde den Server und den Client direkt mit einem Kabel. Teste dann erneut.

Benutzeravatar
Routerdilettantin
Beiträge: 35
Registriert: 09.11.2020 12:44:45
Lizenz eigener Beiträge: GNU General Public License

Re: Samba Performance Probleme

Beitrag von Routerdilettantin » 10.11.2020 16:58:31

Da Betriebssysteme Puffer verwenden, besteht die Kunst darin, exakt (ohne Mittelung) zu messen. Dazu wäre die Datenübertragung mit definierten Paketgrössen, respektive Dateigrössen erforderlich. Ohne Puffer. Die Puffer wirken so: Datenrate schnell bis Pufferspeicher voll, dann wirds realistisch langsam. Nur was zeigt eine kaum dokumentierte GUI (Dateimanager) an? Wie gemittelt? Mittelung überhaupt sinnvoll?

Du solltest Kommandozeilentools (z. B. dd, cp, wget mit sinnvollen Parametern siehe man cp usw. ) verwenden, die Ausgaben und Parameter sind hoffentlich exakt dokumentiert. (Vorher Freigaben im System mounten.)

Zuerst solltest du mit iperf3 das Netzwerk testen. Dafür gibt es exakt einstellbare Paketgrössen und IMIX.
https://en.wikipedia.org/wiki/Internet_Mix
Nicht vergleichbar mit Dateiübertragung im LAN. Dient jedoch der Problemfindung in Netzwerken.

Und ein Raspi ist kaum ein schneller Fileserver. Man könnte mal im Netz suchen, was andere da rauskitzeln. Vielleicht biste ja schon gut? Diese Recherche sehe ich aber nicht als meine Aufgabe an und aufgrund der o. g. Problemchen zweifele ich an exakten oder wenigstens nachvollziehbaren "Mess"-Ergebnissen. :wink:

Benutzeravatar
NoobOfLinux
Beiträge: 97
Registriert: 05.12.2020 11:13:25
Lizenz eigener Beiträge: MIT Lizenz

Re: Samba Performance Probleme

Beitrag von NoobOfLinux » 22.12.2020 12:37:45

Hi,

du kannst das über folgende zwei Wege prüfen.

hparm mit Cache:

Code: Alles auswählen

hdparm -tT /dev/sd(X)
hdparm ohne Cache:

Code: Alles auswählen

sudo hdparm -tT --direct /dev/sd(X) 

per dd: Im Verzeichnis auf dem zu prüfendem Datenträger mit mindestens 1,1 Gigabyte freien Platz ausführen! Mit folgendem Befehl schreibt man eine temporäre Datei auf die Festplatte und füllt diese mit Null, um die Schreibgeschwindigkeit zu testen. Eine Datei einfach von einem anderen Datenträger zu kopieren würde bedeuten, dass man Gefahr läuft, die Werte zu verfälschen, da der jeweilige Datenträge ja auch Zugriffszeiten u.ä. unterliegt, die noch langsamer sein können als die vom zu prüfendem Laufwerk. Deshalb befüllt man die Datei über das Gerät /dev/null, da dieses mit BUS-Geschwindigkeit die Daten überrtägt.

Datei schreiben:

Code: Alles auswählen

dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc 
Im nächsten Schritt löscht man den Buffer-Cache, um die Lesegeschwindigkeit direkt von der Festplatte messen zu können:

Code: Alles auswählen

echo 3 | sudo tee /proc/sys/vm/drop_caches 
Der Cache ist gelöscht; nun folgt der Lesetest:

Code: Alles auswählen

dd if=tempfile of=/dev/null bs=1M count=1024
Nun ist der Buffer-Cache wieder gefüllt, so dass man die Geschwindigkeit dessen prüfen kann:

Code: Alles auswählen

dd if=tempfile of=/dev/null bs=1M count=1024 
Man sollte dieses Kommando vier bis fünf Mal durchführen, um ein einigermaßen aussagekräftiges Ergebnis der Buffer-Lese-Geschwindigkeit erhalten zu können.
Zum Abschluss löscht man die temporär erstellte Datei per rm.

Ich hoffe, ich konnte dir helfen!
Nicknames sind überbewertet

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Samba Performance Probleme

Beitrag von bluestar » 22.12.2020 15:50:49

Vielleicht hilft dir der Link weiter: https://www.raspberrypi.org/forums/view ... p?t=245931

Antworten