[Samba] single stream performance issue, Win2K, WinXP, Samba 3.2.5-4lenny7 (Debian Lenny)
stan at hardwarefreak.com
Thu Jan 21 16:26:41 MST 2010
Hello fellow Samba users and devs. This is my first post. I've searched
documentation far and wide for Windows, Linux, and Samba, and have not been able
to shed any light on this issue.
I can't get more than 8MB/s during a single file copy stream out of my Samba
server over my 100FDX switched network either from Win2K or WinXP (I don't have
a *nix client to test with). The network is idle during testing. Via FTP on
these Win machines to/from the same filesystem (100GB XFS) as the Samba share I
consistently get just a shade over 11MB/s. However, if I launch two
simultaneous file copy streams from Windows Explorer or from the command line, I
hit the 11MB/s I see via FTP. Interestingly, if I launch a file copy with the
source file being on one smb share on the server, and the destination being
another smb share (separate filesystem) on the server, the combined throughput
is also 8MB/s, 4 up and 4 down, which is very strange as this should be two
distinct streams. I can copy files between the Win2K and WinXP machines at just
over 10MB/s in a single stream and max out the 11MB/s with two streams.
I've tweaked every relevant Windows registry setting I can identify, and I've
tried all combination of the following smb.conf settings with various buffer sizes
max xmit = 65535
socket options = TCP_NODELAY
socket options = SO_SNDBUF=262144 SO_RCVBUF=262144
socket options = IPTOS_LOWDELAY
and none of these tweaks make a difference. Still only 8MB/s with a single stream.
I've eliminated the network hardware and any CPU/mem/disk bottlenecks on the
server and workstations as possible causes. The machines are all much more
powerful than the minimums required to fully saturate a 100FDX network.
I don't know if the problem lies with the Windows clients or with smbd. The one
thing that is certain is that this is a single stream performance issue.
Launching multiple copy streams maxes the network just as FTP does. Why is
3MB/s of free bandwidth being left on the table for single stream operations to
Any/all hints comments are welcome. I've burned many hours on trying to figure
this out to no avail, and if I had any hair I'm sure I'd have pulled much of it
out troubleshooting this. ;) I'd really like to max out that single stream
More information about the samba