[Samba] Client link utilization

Jeremy Allison jra at samba.org
Sat Feb 6 22:07:53 MST 2010


On Sat, Feb 06, 2010 at 09:26:32PM -0600, Stan Hoeppner wrote:
> Bostjan Skufca put forth on 2/6/2010 6:14 PM:
> > Hello everybody!
> > 
> > This is probably going to be a classic question but I cannot find a
> > decent answer on net.
> > 
> > I have samba server set up and the following things work flawlessly:
> > - iperf shows 92% link utilization
> > - FTP/SCP/HTTP transfers work in 10MB/s range.
> > 
> > However, when I mount samba share with linux client (mount.cifs) the
> > link utilization cannot bypass cca 33%. Transfer speeds constantly
> > stops around 3.8MB/s and will not rise above it no matter what socket
> > and locking options I use.
> > 
> > Do you have any ideas about why this is happening and/or FAQ websites
> > to point me to?
> 
> I've had a similar thread running for a few weeks without resolution.  In my
> case I can max the wire (100FDX) at 92Mb/s to/from Win2K and WinXP clients using
> FTP, and smbclient from the server to shares on the workstations maxes the wire
> (at least GET from the workstations does).  I'm running Samba 3.2.5 on Debian
> Lenny with custom kernel 2.6.31.1.
> 
> The max smb performance I can get in a single stream to/from smbd is 65Mb/s, or
> 8.5MB/s.  I've now tested Win2K, WinXP, and smbclient on SLED 10 (can't recall
> version).  In all cases, no matter what performance settings I tweak in smb.conf
> or on the workstations, I can't get wire speed with a single SMB stream---can't
> get over 65Mb/s.
> 
> Interestingly, two simultaneous SMB transfer streams (two Windows Explorer file
> copy operations on the same workstation) will max the wire at 92Mb/s, or 11MB/s.

Hang on a minute, I haven't been paying attention to these emails
as yet.

Am I correct in saying:

smbclient -> smbd maxes the wire.
smbclient -> WinXP maxes the wire.

But WinXP -> smbd gets 2/3 of the wire speed.

And WinXP+WinXP (two streams) -> smbd maxes the wire.

If this is the case, it's the 64k per read/write
limit plus only one outstanding packet per stream
issue with the WinXP redirector that's the issue.

smbclient sends up to maxmux outstanding packets
on read/write and keeps the pipeline full. That's
why it can max the wire.

The WinXP redirector is just not very good I'm
afraid.

Jeremy.


More information about the samba mailing list