[Samba] Transfer rates faster than 23MBps?

Doug VanLeuven roamdad at sonic.net
Sat Sep 23 15:13:42 GMT 2006

Mark Smith wrote:
> I also tried your values, with the tcp_window_scaling, with no luck.
It's enable by default, but I explicitly set options other options 
depend on.

I set up my test rig again.
Host server
2.6.12-1.1376_FC3, samba 3.0.23
Broadcom Nextreme BCM5702X Gigabit, tg3 driver default config
2.6.12-1.1381_FC3, samba 3.0.21pre3-SVN-build-11739
Intel Pro/1000, 82546GB Gigabit, e1000 driver default config
HD Drives on both are 45-50MBps

smbclient 26.7-27.2MBps
ftp 25.4 MBps (small window size)

Interestingly enough, downloading in the opposite direction, where the 
Intel card was doing the serving was slightly faster, so hardware does 
make a difference.
smbclient 28.8MBps

client win2000 sp4, Intel Pro/1000
ftp 31.2-34.4MBps
explorer 26.2-27.0MBps (wall clock on 2Gig transfers)

FWIW - I'm used to seeing CIFS performance numbers 5-10% slower than ftp.

Using ethereal to capture the start of the transfers, I'm seeing windows 
ftp negotiate a 256960 window size, which is what I have specified in 
HKLM/system/currcontrolset/services/tcpip/parameters/TcpWindowSize, but 
linux samba establishes a window size of whatever is specified for 
SO_SNDBUF in socket options or by default 8K.  So I set SO_SNDBUF=256960 
and it gave me the extra large window and raised the speed up to 
27.3MBps (1048576 Megs) - not enough to really address your concerns.  
Maybe it would be different on your system.  That's an issue for samba 
because it should allow for autonegotiation of the window size and I 
don't know how to set that other than ipv4.tcp_window_scaling=1 (the 
default).  SO_SNDBUF & SO_RCVBUF are only limited by the /proc/sys 
values* *net.core.rmem_max and net.core.wmem_max which you altered after 
the earlier post.

Comparing the linux ftp to linux samba transfer speeds, I don't think 
the answer lies in samba per se other than how the socket gets set up.  
And it's not a linux issue either if you're getting those http numbers 
(I never see anything like that here).  Your Redhat is obviously tuned 
for those types of packets.  Maybe you using the in-kernel optimized 
apache they offer.  If so, try a user space apache for comparison.

I smacked up against these numbers 2 years ago.  Nothing much seems to 
have changed.  The numbers end up in the low to mid 200Mbps on copper 
Gigabit for user space applications.  If you ever fix it, pop me an 
email please.  I figured the answer would be pci-x and 64 bit pci.  
Higher front side bus speeds.

Best of luck, Doug

More information about the samba mailing list