If you need additional info please let me know. Thanks for taking a look at our post.
The problem slow SMB over WAN. Latency avg 27ms Wiresharks shows the Windows Size is small 8012 for SMB traffic. Bandwidth 100 MBPS both up and down. Speed out to the Internet is great both up and down.
Site to Site VPN setup between two Fortigates.
Copying and opening files between the two sites is slow. Branch Office has a mix of Win7 and Win10 on the Desktops. Fileserver is running Win2016. I have three remote sites with the same problem. Wireshark tells us we're running SMB 2.0.
I'm asking for suggestions to increase the file transfer speed over the WAN.
Fortinet's TAC Level 3 has checked and double checked the Fortigates for misconfiguration errors.
We have done things like reduce the MTU size on the Fortigates. Ran continuous pings on both the private and public interfaces looking for dropped packets.
Checked for mismatched duplexing. Updated the Fortigates Firmware, Attached laptops directly to the Fortigates and copied files between them, ran Iperf both TCP and UDP between them, etc, etc.
We've read document after document on slow SMB over WAN. Performance tuning for SMB. - https://www.apachelounge.com/download/contr/Perf-tun-srv-2016.pdf
We've added the registry key for SizReqBuf, and set it to ffff.
Windows Size Scaling is mentioned.
This link mentions Windows Scaling is enabled by default in all recent implementations.
How to fix TCP windowing
The TCP window size is controlled by the end devices, not by the routers, switches, or firewalls that happen to be in the middle. The devices actively and dynamically negotiate the window size throughout the session.
But as I mentioned earlier, the TCP mechanism was designed for network bandwidth that’s orders of magnitude slower than what we have today. So some implementations still enforce a maximum window size of 64KB. You can get around this by enabling windows scaling, which allows windows of up to 1GB.
Windows scaling was introduced in RFC 1323 to solve the problem of TCP windowing on fast, reliable networks. It’s available as an option in any modern TCP implementation. The only question is whether it’s been enabled properly.
In all recent Microsoft Windows implementations, windows scaling is enabled by default. You ‘ll find places on the Internet telling you to change registry values to increase your window size, but depending on the Windows version you’re using, these changes will have no effect. The values may no longer even exist. Bottom line, you don’t need to fix TCP windowing in Windows, either clients or servers.
A few links we've read.