Working remotely over VPN, when I save a large file to our file server, I am unable to browse any other file shares on the server during that time. Basically, windows explorer hangs up and is stuck, if it does respond it takes several minutes and is very slow. When the file transfer is cancelled or finishes, the folders pop right up.
To reproduce I drag and drop a file from my local (remotely connected) machine to a file share on another device on my work network. While the file is transferring, I try to browse to other folders on the remote file share. For instance, right now, I tried to browse to \\<host ip>\c$\Windows
and after 10 minutes it is still trying to load the directory listing with only a couple dozen folders/files shown so far.
I've spent the last couple days working on this. This is an issue specific to connectivity over a WAN / VPN. I experience similar "slow" file browsing behavior on a different network using a different VPN technology - but there it doesn't just sit and do nothing for minutes. The delays are in seconds. I am using Cisco AnyConnect where the problem is really bad.
The problem effects several users (all that I have tested), on any internet connection, over any of our gateways, to any of our servers. However, it only effects SMB. While the file transfer is occurring, no other services are effected. Ping times stay normal, RDP sessions to the same server are responsive, etc.
I've focused on many different possibilities. I've worked with MTU settings with no changes. I see that SMB is running in a single channel mode. I've tried tweaking various SMB client / server settings. I've seen in wireshark traces that the requests aren't being sent until much later after I try to navigate in to a folder. But, there doesn't appear to be any significant lag between the requests and the responses from the server. No CPU cores/threads are maxed out on server or client. I cannot reproduce this type of behavior over a local LAN.
So, is there an explanation to this behavior? Why doesn't the client appear to send the SMB requests until after the file transfer is cancelled or only much later? Is there a queue? A buffer? Is it even possible to use SMB multi-channel over a virtual network adapter like a VPN? Would that even solve the problem? Are there commands I can run to see if the server or client is queuing something? Any other ideas as to what can be tested?