cp FreeBSD --> Windows share

Hallo,

ich habe ein Speedproblem mit einem Windowsshare auf einem Windows 2003 Server inkl. AD.
Das Share ist gemounted mittels mount_smbfs.

Wenn ich nun von der FreeBSD Kiste auf den Windowsserver eine Datei kopieren, dann geht das so mit ungefähr 210 kb/s. (Über ein 100Mbit/s Netz).

Wenn ich dagegen vom Windowsserver (selbes gemountetes Share) auf die FreeBSD Kiste kopiere, dann geht das mit rund 8MB/s.

Googlen hat nicht wirklich viel gebracht, aber das hier habe ich rausgefunden:

Code:
# time cp 10mb-file /smb/it/

real    0m46.328s
user    0m0.006s
sys     0m0.029s

# time cat 10mb-file > /smb/it/10mb-file

real    0m1.902s
user    0m0.002s
sys     0m0.071s

Eine 10MB Datei braucht also 46 Sekunden mit cp. (0,216 MB/s)
Aber mit der cat-Variante nur 1.9 Sekunden. (5,26 MB/s)

Hat jemand eine Idee, was das zu bedeuten hat?
Warum klappt das nicht einfach mit cp genauso schnell?


Vielen Dank,

schnuckovic
 
wenn es wichtig ist, kannst du ja ein script an die stelle von cp machen, was prüft ob das ziel in einer sambafreigabe liegt und dann cat benutzt (wird nur ein bisschen aufwändig wenn es sachen wie -R und so unterstützt, obwohl dann wiederum tar benutzen könntest und das dann cat'en)... nur so ne idee
 
Ist es dieselbe Datei und ist das andersherum auch so? Also erst cat und dann cp. Nicht, dass Dir irgendwie ein FileCache (egal auf welcher Maschine) reinspuckt und Du nur glaubst, daß cat schneller sei.
 
Zoi said:
Ist es dieselbe Datei und ist das andersherum auch so? Also erst cat und dann cp. Nicht, dass Dir irgendwie ein FileCache (egal auf welcher Maschine) reinspuckt und Du nur glaubst, daß cat schneller sei.

Nein, ich hab immer wieder die Datei gelöscht und auch vor dem kopieren und catten umbenannt, so daß das wirklich ausgeschlossen werden kann.
 
soul_rebel said:
wenn es wichtig ist, kannst du ja ein script an die stelle von cp machen, was prüft ob das ziel in einer sambafreigabe liegt und dann cat benutzt (wird nur ein bisschen aufwändig wenn es sachen wie -R und so unterstützt, obwohl dann wiederum tar benutzen könntest und das dann cat'en)... nur so ne idee

Das ist bestimmt ein gutes Workaround, aber ich wüßte viel lieber wie es zu diesem Unterschied überhaupt kommt.

Ich hab schonmal die mtools ausprobiert, um zu sehen, ob diese copy Implementierung etwas anders macht, aber es war mit cp, genauso langsam.
 
hast du schon mal den samba kioslave von kde benutzt?
ich weiß nicht bis zu welchem level der das netzwerk abstrahiert/ob er überhaupt mountet, aber wenn er direkt über das samba protokoll kommunziert könnte es schneller sein (obwohl die kioslaves ansonsten langsamer sind). vielleicht lassen sich kioslaves auch von der konsole ansprechen, also z.b. so ein kopiervorgang einleiten....
 
Hab mir mal sagen lassen, das cifs beim kopieren sehr, sehr sehr viel Overhead verursacht bei stumpfen schreiben von bits nicht ob das wirklich die zeit rechtfertigt weiß ich nicht.
Gibt es nc (nicht Norton Commander sondern netcat) für Windows?
 
Back
Top