Samba 3.0.1 read performance problem

Richard Sharpe rsharpe at
Sun Jan 18 20:27:32 GMT 2004

On Sun, 18 Jan 2004, Gerhard Wiesinger wrote:

> Hello!
> I have a 100MBit switched network and run Samba 3.0.1 in a Samba
> 2.2.8a domain (3.0.1 because of valid users = %S, and write list = %S fixes) on Fedora FC1 with
> latest fixes.
> Read performance from Linux to Windows 2000 SP3 is very low
> (around 2 to 4 MByte/s). Write performance is ok (>10MByte/s).
> I already used
> socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
> (which is the performance optimum, other values are lower).

Why do you think that SO_SNDBUF is the performance optimum?

What is the delay-bandwidth product of the link between the clients? At 
100Mbps, that is approximately 12MBytes/sec, so a 1ms round trip time 
would give a delay bandwitdh product of 12kBytes/s, and you are already 
lower than that.

Setting SO_SNDBUF to 8192 means that the higher layers (Samba) can only 
put 8192 bytes of data into the socket buffers before it is forced to wait 
for the data to be acked. This is regardless of the window size that is 
offered by the other end!

I would venture to say that leaving those values unset, or setting them to 
65536 would give you better throughput!

Grab an ethereal trace and look at a TCP Sequence Number graph. You should 
see a stair-case effect caused by the delay between segments/packets as 
the sending end is forced to wait for ACKs to clear out the unacknowledged 
data in the send socket queue.
> Netio and ftp performance is >10MByte/s, in most cases >11MByte/s (for
> reads and writes)
> Server: Linux Fedora FC1 with kernel 2.4.22-1.2149.nptl on an Epox 8KRA2+
> Motherboard. Network adapter is a Gigabit Ethernet from Longshine
> (rtl8169 driver).
> No special configuration is used.
> Any ideas?
> Thank you for the answer.
> Ciao,
> Gerhard

Richard Sharpe, rsharpe[at], rsharpe[at], 

More information about the samba-technical mailing list