Hello All,
My suggestion would be to make a network trace of both scenarios and then compare them. For a problem like this, a short capture/snap length of each frame should be adequate (say 100 bytes per frame; tcpdump historically defaulted to a snaplen of 68 bytes but 96 is better when IPv6 might be in use). A trace covering a few seconds of transfer should be adequate.
It does not matter if different tools are used for the capture in the different environments and different trace file formats are used (e.g. pcap, pcapng, cap, etl); just use whatever tools are available.
One could then try to understand the differences; for example frame length, inter-frame gap, window size, etc.. Armed with that information, it would be easier to speculate about which settings might have an influence on the behaviour.
An additional help would be an Event Tracing for Windows (ETW) trace of the Microsoft-Windows-TCPIP provider covering the same period as the network trace; this should give some insight into the congestion avoidance behaviour. Some tools can collect both the network trace and the additional ETW source in a single file (Microsoft Message Analyzer, for example, could do this).
One way of creating a suitable trace is to use the following sequence of commands in a PowerShell window:
New-NetEventSession -LocalFilePath $Env:TEMP\SlowUp.etl -Name SlowUp
Add-NetEventPacketCaptureProvider -TruncationLength 100 -Level 255 -SessionName SlowUp
Add-NetEventProvider -Name "Microsoft-Windows-TCPIP" -Level 255 -SessionName SlowUp
Start-NetEventSession -Name SlowUp
[run performance test]
Stop-NetEventSession -Name SlowUp
Remove-NetEventSession
The %TEMP%\SlowUp.etl file contains the resulting trace data.
Network traces could be made available via services like Google Drive with the corresponding URL posted here...
Gary