Tipps zum Debuggen der Samba-Leistung?

8

Samba gibt mir 24 MB / s Lese- und 44 MB / s Schreibzugriff, während FTP unter den gleichen Umständen 97 und 112 MB / s liefert.

Die Dokumentation sagt das

Im Allgemeinen sollten Sie feststellen, dass Samba bei roher Übertragungsgeschwindigkeit eine ähnliche Leistung wie FTP aufweist.

In meinem Fall ist dies eindeutig nicht der Fall.

Wo finde ich Tipps zum Debuggen der Samba-Leistung?

Oder alternativ Tipps, um Samba durch etwas anderes zu ersetzen? (Ich kann FTP leider nicht verwenden, da ich etwas brauche, das mit rsync / rsnapshot verwendet werden kann.)

Mehr Details:

  • Auf beiden Computern wird Ubuntu 10.10 ausgeführt (mit Samba, da ich auch einen Mac habe)
  • Die Samba-Freigabe befindet sich in einem lokalen Heimnetzwerk, das als bereitgestellt wird

    $ mount
    ...
    //server.local/share/ on /mnt/share type cifs (rw,mand)
    
  • Die Samba-Leistung wurde getestet, indem ( cp) eine einzelne Datei mit ~ 4 GB auf und von der Freigabe kopiert wurde , wobei das timeTiming und die Berechnung der Übertragungsgeschwindigkeit von Hand verwendet wurden.

  • FTP-Leistung sind die Zahlen vom FTP-Client für das Abrufen / Einfügen derselben Datei.
  • iperf gibt Netzwerkgeschwindigkeit ~ 900 Mbit / s
  • bonnie++ bietet beidseitige Festplattengeschwindigkeiten> 200 MB / s für Blocklesevorgänge sowie Blockschreibvorgänge
  • Die meisten von ihnen haben versucht, die im HOWTO zur Leistungsoptimierung vorgeschlagenen Parameter zu ändern ( Raw lesen / schreiben, Lesegröße , Socket-Optionen). (Derjenige, der einen Unterschied machte, führte dazu, dass die Schreibgeschwindigkeit um 50% sank.)
jg-faustus
quelle
Update: Laut der Samba-Mailingliste anno 2009 sind die Leistungsprobleme eher auf smbfs / cifs als auf den Samba-Server zurückzuführen.
JG-Faustus

Antworten:

3

Tatsächlich hat FTP eine recht effiziente Datendurchsatzrate, sobald es in Betrieb genommen wird. Der Overhead, der die Dinge verlangsamt, besteht darin, dass zuerst eine Datei heruntergeladen wird. Das heißt nicht, dass es hier kein Problem mit Samba gibt. Es sollte nahezu identisch funktionieren.

Um ehrlich zu sein, habe ich keine Ahnung, wo Sie versuchen sollten, dies zu beheben.

Idealerweise können Sie mit einer Referenzinstallation von Samba (z. B. Windows) einen anderen Computer dort ablegen und diesen als Client und Server gegen die Ubuntu-Computer testen. Dann würden Sie wissen, welcher Computer das Problem war, wenn nur eine Richtung das Problem war, und dann könnten Sie Fehler basierend darauf melden und / oder eine Problemumgehung für die Zwischenzeit finden.

Vor einiger Zeit habe ich unter Samba etwas über bestimmte Netzwerkhardware gesehen. Es waren sowohl Switches als auch Netzwerkadapter, aber ich kann für mein ganzes Leben nichts darüber finden. Es war wahrscheinlich so ein Randfall, dass es sich nicht lohnt, darüber nachzudenken.

Wie wäre es, wenn wir Samba ausweichen? FTP funktioniert möglicherweise nicht, aber was ist mit NFS ? Es hat wahrscheinlich die höchsten Übertragungsgeschwindigkeiten aus dem Los (meiner Erfahrung nach) und sollte rsync gut verarbeiten können.

Sie können sich auch die FUSE-Bereitstellung des FTP-Servers ansehen, damit rsync ihn schikanieren kann.

Oli
quelle
Vielen Dank für Tipp und Feedback - ich hatte keine Ahnung, dass es möglich ist, FTP über CIFS zu mounten? Ich werde mich auch mit NFS befassen. Wenn die schlechte Samba-Leistung nicht trivial und nicht Ubuntu-bezogen ist, gehört sie vielleicht eher auf die Samba-Mailingliste oder auf eine solche als hier?
JG-Faustus
Ihre ist wahrscheinlich die beste Antwort, die ich bekommen werde :) Nochmals vielen Dank.
JG-Faustus
1
Sie können FTP-Ressource mounten: curlftpfs [user @] Host: [dir] mountpoint [Optionen]
Jet
1

Welche Leistung erhalten Sie, wenn Sie rsync über ssh ausführen? Vielleicht könnten Sie Ihren Rsync mit ssh machen und dann auch Samba verwenden, wenn Sie etwas zwischen Ihrem Mac übertragen müssen?

Azendale
quelle
rsync über ssh ergibt 60 MB / s, ungefähr auf halbem Weg zwischen Samba und FTP. Aber ich habe gerade an anderer Stelle einen Tipp gesehen, dass rsync im Daemon-Modus (mit einem Computer als rsync-Server) mit FTP mithalten kann. Das werde ich als nächstes versuchen.
JG-Faustus
1

Sie können dies in smb.conf versuchen

socket options = SO_KEEPALIVE SO_REUSEADDR \
   SO_BROADCAST TCP_NODELAY IPTOS_LOWDELAY \
   IPTOS_THROUGHPUT SO_SNDBUF=8192 SO_RCVBUF=8192

oplocks = yes

write raw = yes
read raw = yes
Jet
quelle
Ich habe einige davon ausprobiert. TCP_NODELAY: Kleine Verbesserung. roh schreiben und roh lesen: Kein erkennbarer Unterschied. SO_SNDBUF und SO_RCVBUF: Reduzierte Schreibleistung um 50%, nicht weiter verfolgt. Ich werde den Rest überprüfen, wenn ich die Chance bekomme.
JG-Faustus