PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba langsam, FTP schnell ...



blubbersuelze
11.02.13, 21:31
Hallo zusammen,

folgendes Problem:
Ich habe hier einen Linux Fileserver und dieser ist im Verhältnis zum parallel laufenden FTP-Server doch recht langsam

Transferrate FTP 7GB-Datei: 80-100MB/s
Transferrate Samba 7GB-Datei: 30-35MB/s

Es wurde in beiden Fällen die gleiche Datei vom gleichen Ordner des Linuxservers her transferiert.
Ziel war jedesmal ein Windows 7 64bit Rechner.


Die Transferraten vom Samba sind doch recht traurig im Vergleich mit FTP und ich hätte es schon gerne wenigstens annähernd so schnell.

Das System:
Debian Squeeze 64bit
Samba 3.5.6
AMD 4Core CPU
8GB RAM
SATA3-Festplatten

zur Hilfe hier die global-Sektion meiner smb.conf


[global]
workgroup = lokalnetz
server string = %h Fileserver
wins support = yes
dns proxy = no
interfaces = eth1 lo
smb ports = 445, 139
bind interfaces only = yes
log file = /var/log/samba/log.%m
max log size = 1000
hosts allow = 192.168.1
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
map to guest = bad user
guest account= nobody
encrypt passwords = true
passdb backend = tdbsam:/etc/samba/passdb.tdb
obey pam restrictions = yes
unix password sync = no
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
domain master = yes
netbios name = Wotan
log level = 1
unix extensions = No
os level = 255
preferred master = Yes
local master = Yes
delete veto files = Yes
veto files = /*.eml/*.nws/riched20.dll/*.{*}/
oplocks = yes
write cache size = 262144 # for a 256k cache size per file
max xmit = 65535
dead time = 0
getwd cache = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_KEEPALIVE


ich hoffe jemand findet die Ursache warum Samba so langsam ist :S

mfg. blubbersuelze :p

davidbaumann
11.02.13, 22:24
Lass mich raten. Wenn du mit 3 PCs gleichzeitig Daten kopierst, hast du zusammen 70-80 MByte/s?

Gruß.

blubbersuelze
12.02.13, 08:46
@davidbaumann
mmh .. war das nun eine Aussage oder eine sinnfreie Bemerkung?


Und nein .. die Datenrate geht pro Client entsprechend runter

muell200
12.02.13, 09:42
ich hoffe jemand findet die Ursache warum Samba so langsam ist :S



socket options = .... SO_SNDBUF=8192 SO_RCVBUF=8192


windowssize?
virenscanner?

besser?

blubbersuelze
12.02.13, 09:53
wenn ich den Sende und Empfangpuffer wieder aktiviere, also:


socket options = .... SO_SNDBUF=8192 SO_RCVBUF=8192


dann geht der Durchsatz sogar nochmal um ca 10MB/s runter.
Des weiteren wird für moderne Kernel (2.6 und höher) sogar von abgeraten
diese beiden Puffer weiterhin zu verwenden ..


-Die Windowsize auf TCP Ebene kann es nicht sein, da diese ja bei FTP sonst auch zuschlagen würde.
-Virenscanner hängt keiner dazwischen

wie gesagt von der gleichen Maschine, die gleiche Datei aus dem gleichen Ordner kommt mittels FTP mit 80-100MB/s zum gleichen Ziel an ...

asterixxer
12.02.13, 14:37
Ich dachte es waehre normal, dass FTP schneller als SMB ist, wegen Protokoll overhead...

muell200
12.02.13, 15:25
dann geht der Durchsatz sogar nochmal um ca 10MB/s runter.


das war nur ein beispiel...
ich fahre mit 65536 gut

nopes
12.02.13, 16:48
Ich dachte es waehre normal, dass FTP schneller als SMB ist, wegen Protokoll overhead...

nö, s.a. http://www.samba.org/samba/docs/man/Samba3-HOWTO/speed.html#id2690558

Generally, you should find that Samba performs similarly to ftp at raw transfer speed. It should perform quite a bit faster than NFS, although this depends on your system.

davidbaumann
12.02.13, 19:33
@davidbaumann
mmh .. war das nun eine Aussage oder eine sinnfreie Bemerkung?


Und nein .. die Datenrate geht pro Client entsprechend runter

Die Antwort wollte ich wissen, so ist es leider bei meinem NAS.

blubbersuelze
12.02.13, 20:07
@davidbaumann
ah ok, wenn das so der Fall wäre wäre ich ja noch relativ beruhigt aber leider ist das nicht der Fall :(

habe es mit 65536 nochmal probiert ... keine Auswirkung bleibt gleich schnell/langsam wie komplett ohne diese 2 Socketoptionen.


Ich bin für Ideen, Lösungen, Vorschläge weiterhin offen :-D

muell200
13.02.13, 10:01
Ich bin für Ideen, Lösungen, Vorschläge weiterhin offen :-D

was ist langsam read oder write
oder beides?

blubbersuelze
13.02.13, 10:45
die Transferrate liegt lesend und schreibend bei

FTP 7GB-Datei: 80-100MB/s
Samba 7GB-Datei: 30-35MB/s

Virenscanner hängt keiner dazwischen,
es ist auch keine Firewall zwischengeschaltet
Es gibt auch kein QoS oder ähnliche Regelwerke welche die Datenrate für CIFS drosseln könnten

Aqualung
13.02.13, 12:04
Schau Dir mit "top" bzw. "iotop" die Auslastung des Servers an.

blubbersuelze
13.02.13, 14:59
also iotop hat nur den entsprechenden Durchsatz der auch über das Netzwerk geht.. plus minimaler Kleinkram wie es immer so ist

top selbst da hat beim kopieren der Prozess eine CPUZeit von maximal 16% und der gesamte Load liegt bei 0,1 ..
Und da es sich um eine 4KernCPU handelt werde andere Prozesse durch den Kernel auf andere Kerne verschoben .. also da ist auch nicht die Bremse bzw. der Fehler in der Konfiguration

marce
14.02.13, 07:03
mal doof gefragt: schon mal versucht, ob es am Client liegt?

(sprich - anderer Client, anderes OS, andere Netzwerkkarte + Treiber, ...)

blubbersuelze
14.02.13, 11:45
mal doof gefragt: schon mal versucht, ob es am Client liegt?

(sprich - anderer Client, anderes OS, andere Netzwerkkarte + Treiber, ...)

ja habe ich ..
komplett anderes System mit anderen Betriebssystemen
habe 3 verschiedene Systeme probiert
je mit
Windows 7 64bit
Ubuntu 12.04
und letztendlich noch mit einem aktuellen Macbook (Max OSX Lion)

ich habe auf allen Systemen die genannten Datenraten lesend bzw. schreibend von FTP bzw. Samba ...
Samba mag ja durchaus etwas langsamer sein als FTP aber nicht so viel ...
wenn ich via FTP eine Transferrate von 80-100MB/s habe sollten über Samba locker 70-90MB/s drinnen sein und nicht:

lesend bzw. schreibend:
Transferrate FTP 7GB-Datei: 80-100MB/s
Transferrate Samba 7GB-Datei: 30-35MB/s



am Switch, den Festplatten, der Netzwerkkarte des Server kann es nicht liegen, da FTP ja sonst auch so langsam wäre

Die Systemlast des Servers und auch beim Client ist während des Kopiervorgangs via FTP und auch via Samba vernachlässigbar klein.

Firewall und Virenscanner hängt nicht dazwischen (Server und Clientseitig)


Für mich klingt es durch die Ursachensuche nach einer Konfigurationssache in Samba selbst .. aber ich finde nicht heraus was fehlt bzw. verkehrt konfiguriert ist ...


weitere Ideen woran das liegen könnte? :-)

marce
14.02.13, 12:31
in dem Fall würde ich mal mit einer minimalen Config anfangen (also wirklich alles raus, was man nicht braucht für eine reine Samba-Verbindung ohne Auth und sonstiges Gemüse).

Aber ja - Samba bzw. CIFS war durchaus dafür bekannt, nicht immer das schnellste Protokoll zu sein - und je nach Version des Servers auch teilweise recht unterschiedlich im Verhalten...

nopes
14.02.13, 18:42
mal davon ab, nimm doch einfach webdav, das kann man auch mit Windows "mounten".

marce
14.02.13, 19:21
vor allem, weil Webdav ja so alles an Möglichkeiten bietet und unterstüzt, was auch Samba/CIFS bietet...

blubbersuelze
15.02.13, 00:07
mal davon ab, nimm doch einfach webdav, das kann man auch mit Windows "mounten".

ich werde mich hüten einen Webserver als Fileserver zu vergewaltigen, wenn ich dies vermeiden kann... und innerhalb eines LANs .. da geht sowas schon mal aus Prinzip nicht ...


am WE werde ich den Vorschlag von marce mal angehen und mit einer minimalen Sambaconfig anfangen, in der Hoffnung das es irgendwo in der Config eine mmh .. "Bremse" gibt ..

nopes
15.02.13, 09:59
ich werde mich hüten einen Webserver als Fileserver zu vergewaltigen, wenn ich dies vermeiden kann... und innerhalb eines LANs .. da geht sowas schon mal aus Prinzip nicht ...

Und woher soll diese Weisheit stammen? Denn dann solltest du aus Prinzip nichts tun, oder ist "never touch a running system" kein Prinzip.

blubbersuelze
15.02.13, 11:19
Und woher soll diese Weisheit stammen? Denn dann solltest du aus Prinzip nichts tun, oder ist "never touch a running system" kein Prinzip.

Mal überlegt das Webdav ein Filetransfer mittels HTTP-Protocol ist und damit fasst so ziemlich alles an Funktionalitäten und Protokolinformationen verloren gehen die in einem CIFS-Protokol vorhanden sind?

siehe auch hier:

vor allem, weil Webdav ja so alles an Möglichkeiten bietet und unterstüzt, was auch Samba/CIFS bietet...

Warum sollte ein Filetransfer innerhalb eines LANs darüber gelöst werden wenn die native, ursprünglich dafür gemacht Lösung, welche auf allen Plattformen funktioniert, mit Groupwaresystemen (Active Directory usw.) nahtlos interagiert dann nicht verwendet werden?


Als Anmerkung .. ich suche keine Alternative zu Samba, sondern eine Lösung für mein aufgetretenes Problem ... von daher hat sich eigentlich die Bemerkung in Bezug auf Wechsel zu Webdav schon von selbst disqualifiziert ... und nun bitte keine weiteren Kommentare in Bezug auf Webdav sondern etwas was zur Lösung des Problems beiträgt, danke

nopes
15.02.13, 11:46
Nun, wenn es also CIFS sein soll, dann bleibt dir neben der mini cfg, noch die Option es selber zu bauen und dabei natürlich zu optimieren.
Doku liegt hier: https://wiki.samba.org/index.php/LinuxCIFS_utils
Das gleiche gilt dann natürlich auch für den Kernel-Treiber, die Doku liegt hier: http://kernel.org/doc/readme/fs-cifs-README
Natürlich gelten auch die Anweisungen der Doku aus meinem ersten Post, aber die haben bei dir ja eher bremsend statt beschleunigend gewirkt.

blubbersuelze
16.02.13, 12:17
Problem gelöst...
es war nicht die Konfiguration ...

nachdem ich von Debian Stable auf Debian Testing gewechselt habe und dadurch neben neuerem Kernel auch eine neuere Samba Version hatte gings ab wie Schmidt's Katze auf Samba ...

hoffe anderen hilft das auch weiter.

Gruß ...

marce
16.02.13, 17:02
aber ja - samba bzw. Cifs war durchaus dafür bekannt, nicht immer das schnellste protokoll zu sein - und je nach version des servers auch teilweise recht unterschiedlich im verhalten...
:-)

qed & eod.