Ian
2006-Jan-12 21:57 UTC
[Samba] Max Buffer Size vs Max Raw Buffer question...1GB tuning questions
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