Samba Performance zu gering.

Gast #2656708
Lesenswert?

Hallo,

sind hier evtl. ein paar Linux / Samba Spezialisten?

Folgendes Problem:
Ich habe einen kleine Fileserver der Dateien über Samba zur Verfügung 
stellt. Allerdings ist der Datentransfer IMHO zu gering.

iptraf zwischen dem Fileserver und meinem Desktop zeigt ca. 700 Mbit.
Ein "cat /dev/sdb1/test.bin > /dev/null" liest Daten von der Platte mit 
ca. 80MB/s. (sdb1 ist die Parition die über Samba freigegeben ist).

Ich würde also davon ausgehen, dass ich Daten (speziell große Dateien) 
mit über 70 MB/s lesen kann ... praktisch erreiche ich aber nur 
irgendwas um die 45 MB. (Ich habe auch mal FTP probiert, da erreiche ich 
ähnliche Werte).

Der Fileserver ist an sich nicht optimal - "nur" ein alter Pentium 4, 
2.6 GHz, 768 MB RAM, Centos 6.2. Ich habe schon diverse TCP/IP 
Einstellungen und Samba "Tricks" aus diversen Foren probiert - wirklich 
viel gebracht hat's aber nix.

Mich wunderts nur, weil ich nur 50% von dem theoretisch möglichem 
erreiche ...

Hat wer ne gute Idee wo ich die Leistung verlieren könnte?
Gast #2656737
Lesenswert?

Was liefert FTP ?
Was liefert NFS ?
Was liefert lokales lesen von Dateien ? (Nicht Partionen)
Was liefert iperf ?
Wie ist die CPU Auslastung ?
Wie ist die Window Size ?
Wie sind die Samba tuneables eingestellt ?
Gast #2656928
Lesenswert?

Wer misst misst Mist schrieb:
> Was liefert FTP ?

siehe oben - mit FTP kommen ich auf ähnliche Werte. Liegen im Bereich 
von 45 MB/sec

> Was liefert NFS ?

kann ich leider nicht testen - habe grad keine zweite Maschine die NFS 
könnte.

> Was liefert lokales lesen von Dateien ? (Nicht Partionen)

siehe oben - beim Lesen von Dateien komme ich auf ca. 80 MB/sec

> Was liefert iperf ?

siehe oben - ca. 700 Mbit

> Wie ist die CPU Auslastung ?

Kopiere ich über die Samba-Freigabe, sagt mir vmstat das hier:

procs ---------memory---------- -swap-- -----io-- --system-- 
-----cpu-----
 r  b swpd   free   buff  cache si   so    bi  bo   in   cs us sy id wa 
st
 0  0    0   8428  11508 711444  0    0 47437   0 4545 3631  2 11 86  2 
0
 1  0    0   8428  11508 711444  0    0 47309   0 4544 3620  2 11 84  2 
0

die Kiste ist also ziemlich "idle" ... und scheint mir auch nicht zu 
sehr auf i/o zu warten.

Beim direkten Lesen von Disk siehts allerdings so aus:

procs --------memory--------- ---swap-- -----io-- --system-- 
-----cpu-----
r  b  swpd free   buff  cache  si   so    bi   bo  in   cs us sy id wa 
st
0  1     0 7668  13788 709928   0    0 82566    0 886 1427  0 11  0 88 
0
0  1     0 8164  14180 708744   0    0 80027    0 855 1383  0 10  0 90 
0

... von daher scheint die Kiste beim Lesen von Platte an ihrer Grenze zu 
sein ...


> Wie ist die Window Size ?

standard

> Wie sind die Samba tuneables eingestellt ?

read raw = yes
write raw = yes

aio read size = 16384
aio write size = 16384
aio write behind = true
use sendfile = Yes

socket options = TCP_NODELAY IPTOS_LOWDELAY

Mich beschleicht das Gefühl, dass die Kiste für "schnelles" Lesen von 
Platte zu "schnelles" Netzwerk zu schwach ist ... kann das sein?
Gast #2656929
Lesenswert?

Sven P. schrieb:
> Nu, TCP/IP-Overhead, Protokollstack, Dateisystem, SMB1 ist ein dämliches
> Protokoll...

Mit TCP/IP Overhead alleine kann man den Einbruch IMHO nicht erklären 
... sooo viel Overhead hat TCP/IP auch wieder nicht.

SMB ist dämlich - leider ist es das Protokoll das so ziemlich jeder 
Mediaplayer, etc. kann ... :/
Gast #2656979
Lesenswert?

Wer misst misst Mist schrieb:
> smb wird ftp schwerlich toppen können. Dann sei damit zufrieden, das smb
> an ftp rankommt.

naja ... das smb nicht an ftp rankommt ist nicht verwunderlich.

Verwunderlich ist - zumindest für mich - allerdings, dass der Rechner 
scheinbar mit 80 MB/s von Platte lesen kann, mit ca. 80 MB/s in's Netz 
reinblasen kann ... aber smb/ftp dann insgesamt doch nur auf 45 MB/s 
kommt.

Kann aber gut sein, dass das mit dem von mir verwendeten Mainboard 
schlicht nicht geht ...
#2656988
Lesenswert?

Mit SMB1 lässt sich ein Gigabit-Ethernet nicht auslasten, die 
beobachteten Raten sind dafür nicht ungewöhnlich. Mit SMB2 hingegen 
kommt man an den Anschlag, also auf über 100MB/s, sofern die Disk-I/O 
das zulässt. Besondere CPU-Performance ist dafür nicht erforderlich, 
auch ein Server der Atom-Klasse schafft das.

Voraussetzung dafür ist effektiv ein Samba 3.6 mit explizit aktiviertem 
SMB2. Und mindestens Vista auf der Windows-Seite.
#2656996
Lesenswert?

JosefDermler schrieb:

> siehe oben - mit FTP kommen ich auf ähnliche Werte. Liegen im Bereich
> von 45 MB/sec

Das allerdings sollte zu denken geben. FTP ist ziemlich effizient.

Geschieht das auch, wenn man nach einem Transfer den gleichen Transfer 
nochmal durchführt, und zwar von einem File, das deutlich kleiner ist 
als der beiderseits als Disk-Cache zur Verfügung stehende Speicher? 
Damit kann man Effekte ineffizient arbeitender Disk-I/O ausschliessen.
Gast #2657145
Lesenswert?

A. K. schrieb:
> Geschieht das auch, wenn man nach einem Transfer den gleichen Transfer
> nochmal durchführt, und zwar von einem File, das deutlich kleiner ist
> als der beiderseits als Disk-Cache zur Verfügung stehende Speicher?
> Damit kann man Effekte ineffizient arbeitender Disk-I/O ausschliessen.

grad probiert ... wenn ich ein 500 MB File übertrage, geht der erste 
Transfer mit den üblichen 45 MB/s ... kopiere ich dann die selbe Datei 
gleich nochmal, bin ich bei 75-80 MB ...

Damit ist wohl klar, dass der Disk-I/O etwas "bescheiden" ist :/

A. K. schrieb
> Wie hast du das denn zustande bekommen? /dev/sdb1 ist das nackte
> Diskvolume, nicht das Filesystem. Ein /dev/sdb1/irgendwas ist
> normalerweise unmöglich.

korrekt ... die Zeile ist natürlich falsch, eigentlich hätte es 
/mnt/sdb1/ heissen sollen ...
Gast #2657173
Lesenswert?

JosefDermler schrieb:
> grad probiert ... wenn ich ein 500 MB File übertrage, geht der erste
> Transfer mit den üblichen 45 MB/s ... kopiere ich dann die selbe Datei
> gleich nochmal, bin ich bei 75-80 MB ...
>
> Damit ist wohl klar, dass der Disk-I/O etwas "bescheiden" ist :/

Oder der Bus, lass mich raten, PCI und kein PCIe. Normales PCI ist zu 
langsam für Gigabit.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren