I can share what I have, but won't claim they are optimal for
everyone.  For win7, they give near theoretical performance on
writes (with win7 tuned correctly as well).
Will only mention a few pertinent items.  Standard
disclaimers concerning your software, work load and hardware all need to be considered when evaluating params.

Biggest thing is in reserving enough memory.

I just remeasured linear performance -- using a single task, using 'dd' to/from a server file of 1 or 4GB in size.

I also figured out my Win7 performance was way below par -- and
tried a WinXP performance improvement on it -- and had it work --
even though it's widely said around the net to no longer work in
Vista or above.

First the linux params, then the other params.

linux:
/proc/sys/net/ipv4 (same methods may work for ipv6, but haven't tested them)
Comparing my distro's defaults to my modified values:

*(don't know if this is important, as I don't think
congestion enters into play in my setup, but:)
default:
 tcp_allowed_congestion_control=cubic reno
 tcp_available_congestion_control=cubic reno
 tcp_congestion_control=cubic
 tcp_ecn=0
 tcp_timestamps=1
mod:
 tcp_allowed_congestion_control=htcp reno
 tcp_available_congestion_control=htcp reno scalable
 tcp_congestion_control=htcp
 tcp_ecn=1
 tcp_timestamps=0

Then memory for tcp:
default:
 tcp_mem: 47136 62848 95272
 tcp rmem 4096 87380 2011136
 tcp wmem 4096 87380 2011136
mod:
 tcp_mem 2097152 8338608 268435456
 tcp_rmem 1048576 4194304 134217728
 tcp_wmem 1048576 4194304 134217728

Also, in /etc/samba/smb.conf:
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=4194304 SO_RCVBUF=4194304
(also, not sure if they are as important, but also use:)
aio read size=65536
aio write size=65536
min recievefile size=65536
max xmit=66576

---
On my clients, under the HKLM/currentcontrolset, under

TcpIp/Parameters I have (both DWORDS): TcpMaxWindowSize=1048576 GlobalMaxTcpWindowSize 1048576

AND I have those same two DWORDS under my active "Interface" key (under Parameters). I looked for the one that corresponded to my client's active interface.

-----------------------------------

Notes:
In writing up these params I did some benchmark testings.

Win7 (without the TCPMaxWindowSize) changes in the registry), gave 10MB/s reads and 12MB/s writes.

WinXP (didn't already had those changes) came in at
35MB/s reads and 73MB/s writes.

Putting in the MaxWinSize words in my Win7 registry (though
several places around the net claim this param was no longer
used, from Vista on), gives:
70MB/s reads
108MB/s writes.

Note -- these are measured not just in terms of the execution
time of 'dd', but also looking at "xosview" running (actually running remotely over X -- i.e. using up some of that file
transfer bandwidth!).  I.e. Xosview showed 108MB/s when I measured
108MB/s in 'dd'.  So it wasn't a related to cache timings.

Am glad you posted your question, as I wouldn't have experimented
with the TCPMaxWinSize -- as every place I looked claimed that param
was no longer used from Vista on -- so I had not previously tried it
(being gullible enough to believe all the sites that claimed it was
no longer supported.  C'est la vi!).

Hope this helps,
Linda

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba

Reply via email to