[Samba] Throughput to a single client

Denis Vlasenko vda at port.imtp.ilyichevsk.odessa.ua
Thu Oct 21 13:29:03 GMT 2004

On Thursday 21 October 2004 15:37, AndyLiebman at aol.com wrote:
> I have a Linux Server (3.06 Xeon) with a very fast RAID array -- reads at 
> around 500 MB/sec as clocked by Bonnie++. I have 6 GigE nics on my machine  -- on 
> two 133Mhz PCI-x bus segments (not on the same bus as the RAID drives)
> I have noticed two puzzling things and I'm wondering if anybody has any ideas 
> about why I'm seeing these: 
> 1)  transfer speeds over a single NIC from a single Windows XP workstation to 
> the Server (host to host, no switch in between) starts out at around 43 
> MB/sec but then drops off to around 30 MB/sec. I don't think it's a disk speed 
> issue on the Windows side, because data is coming from an 8 disk RAID-5 on the 
> Windows side. 
> 2)  transfer speed from the Server to 3 windows workstations seems to max out 
> at around 60 MB/sec total. One windows workstation can get around 40-45 
> MB/sec, but if I try to achieve maximum transfer speed with to 3 Windows machines 
> each only gets about 20 MB/sec. Again, I don't think it's a disk speed thing on 
> the Linux side -- and on the Windows side the data is not being stored on 
> disk but rather it's being played out as video. 
> So, the question is, does Samba have any configuration options that might 
> limit the total throughput to the Network? And if it's not Samba that's causing 
> the bottleneck, does anyone have any other ideas. 

You may do the following: first, find out what gets maxed out (CPU/disk/network)
with top, vmstat and friends. See attached program.

IIRC at least once it was reported that samba can send data to several M$ clients
much faster that to single one. This is not optimal, single-stream TCP
performance on a properly functioning network must be close to multiple-stream.

Either there is a bug somewhere or samba and client both need to add
some tweaks to TCP session (larger buffers, large windows, etc) to take full
advantage of, say, GigE.

If neither disk nor CPU is stressed to 100%, then it is possible that you see
exactly this thing.

Check how much MB/s you can pull from Linux with various programs (ftp, http,
SMB, netcat) and post results. You may want to test Linux->Linux TCP stream
speeds on the same hw in order to be able to compare it to Windows.

More information about the samba mailing list