[Samba] Max Buffer Size vs Max Raw Buffer question...1GB tuning questions

Ian samba at zestysoft.com
Thu Jan 12 21:56:34 GMT 2006


I've been attempting to tune my samba server and workstations to work
efficiently on a 1GB lan.

So far I've increased the MTU on both the workstation and linux server to
9000.

Then on the windows xp workstation, I've added these registry keys and
rebooted:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpWindowSize"=dword:3FFFF700
"Tcp1323Opts"=dword:3

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
"SizReqBuf"=dword:0000FFFF
"TcpWindowSize"=dword:3FFFF700

Now, normal communications with the samba server work great... 8960 tcp/ip
frames instead of 1460, and I'm getting around an ack for every two of
those which is odd considering the Window Size I've got set, but I think
that has something to do with the windows scaling a la the Tcp1323Opts
key, or a sysctl entry I need to modify on the linux server.  The SMB
"Write AndX Request" size is 65535.  This works copying to the samba
server and reading from the samba server.

The problem I have is with mounting a windows XP share in linux.  Looking
at the packets, it looks like during negotiations, the windows XP computer
replies with a "Max Buffer Size" of 4356 and with a "Max Raw Buffer" of
65536.  The flag for "Read Raw and Write Raw" flag is enabled.

When ever I transfer files to that mounted share however, the SMB size is
fixed at 4096 bytes.  I've searched for registry entries that can alter
that size in windows since that's what's reporting the size limit, but was
also wondering if it was possible to use the "raw" abilities instead which
seem to be the size I want anyway.

Note that I get identical results with cifs as I do with smbfs, and I've
even tried passing the sockopt parameter to cifs when mounting with these
settings without effect:
TCP_NODELAY SO_RCVBUF=65535 SO_SNDBUF=65535 IPTOS_LOWDELAY



More information about the samba mailing list