This is the issue I observed in Linux for a long time, but the numbers are different.
In Linux file transfers to/from Windows machines over 1 Gbit network reached 4-5 MB/s over
But if I shared a folder on a Linux machine with Samba and initiated a transfer from Windows, then it would reach 70-80 MB/s w/o jumbo frames, and 100-120 MB/s when jumbo frames were turned on on both sides - as fast as Windows to Windows!
In FreeBSD 10 transfers to/from Windows over mount_smbfs reach 15 MB/s and over gnome2 FUSE 45 MB/s. A huge improvement over Linux, but still nowhere close to Windows.
Both machines run same hardware: AMD A6 APU, A75 chipset, Realtek 8111F NICs (onboard).
I have looked into the Linux copy of
Somehow Samba is able to serve files at the same top speed as Windows.
Somehow FUSE is 5-10x times faster than mount_smbfs(8).
If mount_smbfs(8) is not abandoned, would it be at all possible to port Samba or at the very least FUSE code over? It is simply painful to move data across 1 Gbit network at a rate of 100 Mbit!
In Linux file transfers to/from Windows machines over 1 Gbit network reached 4-5 MB/s over
mount_cifs
and 20 MB/s over gnome FUSE.But if I shared a folder on a Linux machine with Samba and initiated a transfer from Windows, then it would reach 70-80 MB/s w/o jumbo frames, and 100-120 MB/s when jumbo frames were turned on on both sides - as fast as Windows to Windows!
In FreeBSD 10 transfers to/from Windows over mount_smbfs reach 15 MB/s and over gnome2 FUSE 45 MB/s. A huge improvement over Linux, but still nowhere close to Windows.
Both machines run same hardware: AMD A6 APU, A75 chipset, Realtek 8111F NICs (onboard).
I have looked into the Linux copy of
mount_cifs
source code and the only thing I could pick out after 10-15 min of staring was that it allocated, zeroed and freed a buffer for every IP packet. This would slow things down. I am sure Windows keeps a fixed pre-allocated memory area locked and simply writes/reads blocks into that area.Somehow Samba is able to serve files at the same top speed as Windows.
Somehow FUSE is 5-10x times faster than mount_smbfs(8).
If mount_smbfs(8) is not abandoned, would it be at all possible to port Samba or at the very least FUSE code over? It is simply painful to move data across 1 Gbit network at a rate of 100 Mbit!