Windows 10 slow upload speed

Get help and discuss anything related to tweaking your internet connection, as well as the different tools and registry patches on the site. TCP Optimizer settings and Analyzer results should be posted here.
Post Reply
hlstriker
New Member
Posts: 3
Joined: Fri Oct 09, 2015 4:52 am

Windows 10 slow upload speed

Post by hlstriker »

I am using Windows 10 Pro at a datacenter on a 1 Gigabit port and the upload speed of that computer seems to significantly degrade when latency rises. I do not think it's the routing causing the degradation as there is another Linux machine on the same network that does not have this issue even when taking the same routes.

For example:
  • If I do a speedtest and get 5ms latency I will download and upload at about 950 Mbps.
  • If I do a speedtest and get 50ms latency I will download at 950 Mbps and upload at 30 Mbps.
I've been searching all over the internet to hopefully find a solution but nothing has worked so far. I installed TCP Optimizer v4.0.1 and tried quite a few different settings including the optimal option at 100+Mbps but nothing seemed to make a difference. Hopefully someone has an idea of what the problem could be as I don't have a clue.

Here is the log generated from TCP Optimizer:

Code: Select all

Windows 10 (64-bit) Build:10240 6.3 09.10.2015 04:26:11
!!!-------------------!!!
netsh int ip show interfaces

Idx     Met         MTU          State                Name
---  ----------  ----------  ------------  ---------------------------
  1          50  4294967295  connected     Loopback Pseudo-Interface 1
  5          10        1500  connected     Ethernet



!!!-------------------!!!
PowerShell.exe Get-NetAdapterRss -Name '*'


Name                                            : Ethernet
InterfaceDescription                            : Intel(R) I210 Gigabit Network Connection
Enabled                                         : True
NumberOfReceiveQueues                           : 2
Profile                                         : NUMAStatic
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 0:6
MaxProcessors                                   : 4
RssProcessorArray: [Group:Number/NUMA Distance] : 0:0/0  0:2/0  0:4/0  0:6/0  
IndirectionTable: [Group:Number]                : 0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    
                                                  0:0    0:2    0:0    0:2    0:0    0:2    0:0    0:2    





!!!-------------------!!!
PowerShell.exe Get-NetAdapterRsc -Name '*'


!!!-------------------!!!
PowerShell.exe Get-NetAdapterLso -Name '*'

Name                           Version         V1IPv4Enabled  IPv4Enabled  IPv6Enabled 
----                           -------         -------------  -----------  ----------- 
Ethernet                       LSO Version 2   False          False        False       




!!!-------------------!!!
PowerShell.exe Get-NetTCPSetting -SettingName InternetCustom


SettingName                     : InternetCustom
MinRto(ms)                      : 300
InitialCongestionWindow(MSS)    : 4
CongestionProvider              : CTCP
CwndRestart                     : False
DelayedAckTimeout(ms)           : 50
DelayedAckFrequency             : 2
MemoryPressureProtection        : Disabled
AutoTuningLevelLocal            : Experimental
AutoTuningLevelGroupPolicy      : NotConfigured
AutoTuningLevelEffective        : Local
EcnCapability                   : Disabled
Timestamps                      : Disabled
InitialRto(ms)                  : 2000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 1025
DynamicPortRangeNumberOfPorts   : 64510
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Disabled
MaxSynRetransmissions           : 2
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0





!!!-------------------!!!
PowerShell.exe Get-NetOffloadGlobalSetting


ReceiveSideScaling           : Enabled
ReceiveSegmentCoalescing     : Disabled
Chimney                      : Disabled
TaskOffload                  : Enabled
NetworkDirect                : Disabled
NetworkDirectAcrossIPSubnets : Blocked
PacketCoalescingFilter       : Enabled





!!!-------------------!!!
PowerShell.exe Set-NetTCPSetting -SettingName InternetCustom -EcnCapability default
Set-NetTCPSetting : Cannot process argument transformation on parameter 'EcnCapability'. Cannot convert value 
"default" to type "Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetTCPSetting.EcnCapability". Error: "Unable to 
match the identifier name default to a valid enumerator name. Specify one of the following enumerator names and try 
again:
Disabled, Enabled"
At line:1 char:62
+ Set-NetTCPSetting -SettingName InternetCustom -EcnCapability default
+                                                              ~~~~~~~
    + CategoryInfo          : InvalidData: ( :) [Set-NetTCPSetting], ParameterBindingArgumentTransformationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Set-NetTCPSetting
 


!!!-------------------!!!
PowerShell.exe Set-NetTCPSetting -SettingName InternetCustom -Chimney enabled
Set-NetTCPSetting : A parameter cannot be found that matches parameter name 'Chimney'.
At line:1 char:47
+ Set-NetTCPSetting -SettingName InternetCustom -Chimney enabled
+                                               ~~~~~~~~
    + CategoryInfo          : InvalidArgument: ( :) [Set-NetTCPSetting], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Set-NetTCPSetting
 


!!!-------------------!!!
netsh int tcp set global dca=enabled
Ok.



!!!-------------------!!!
PowerShell.exe Set-NetTCPSetting -SettingName InternetCustom -InitialRto 2000 


!!!-------------------!!!
PowerShell.exe Set-NetTCPSetting -SettingName InternetCustom -MinRto 300


!!!-------------------!!!
PowerShell.exe Enable-NetAdapterRsc -Name 'Ethernet'
Enable-NetAdapterRsc : No MSFT_NetAdapterRscSettingData objects found with property 'Name' equal to 'Ethernet'.  
Verify the value of the property and retry.
At line:1 char:1
+ Enable-NetAdapterRsc -Name 'Ethernet'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Ethernet:String) [Enable-NetAdapterRsc], CimJobException
    + FullyQualifiedErrorId : CmdletizationQuery_NotFound_Name,Enable-NetAdapterRsc
 


!!!-------------------!!!
PowerShell.exe Enable-NetAdapterChecksumOffload -Name 'Ethernet'
hlstriker
New Member
Posts: 3
Joined: Fri Oct 09, 2015 4:52 am

Post by hlstriker »

Does this even sound like an issue from the computer or does it sound more like an issue along the route itself?
hlstriker
New Member
Posts: 3
Joined: Fri Oct 09, 2015 4:52 am

Post by hlstriker »

Any thoughts on this? It's been a few weeks now and I still can't figure it out :(
User avatar
Philip
SG VIP
Posts: 11760
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

If you are getting a speed test with 5ms latency, the server is really close to you, most likely your ISP (you can do a traceroute to verify). This means, you are testing the connection between you and your ISP.

If you get a speed test with 50+ms latency, your transfers are out on the internet, and actually depend on the backbones of your ISP, their peering arrangements, and what they allocate to you. This will almost always be much slower, especially for residential connections where the bandwidth is oversubscribed 20-25 times usually.
Post Reply