[SOLVED] Weirdly specific internet speed problem (limited)

Dec 19, 2020
6
0
10
Hello,

I have a 50Mbps connection speed from mi ISP, when I do a speedtest on a server that is close to my country (or in my country, I'm from Paraguay) the speed is normal, but when I do the same test on a server that is a little further away like United States or Korea maybe, the speed is weirdly limited to 10Mbps, this is reflected when I try to download programs or files from far away servers, instead of ~6MB/s it just stays on about 1MB/s. Sometimes less.

Now, everything I have.

This problem happens in this machine, specifically in this system. The issue does not occur on this same machine running Lubuntu, neither on my cellphone; so I would say it's not a problem with my ISP. I say it's neither a problem with my Ethernet cable because if I do a test on the best servers, it works just fine.
Edit: I tried now with a server that is not so far away but it's not close either, and it was limited to 22Mbps. Maybe It has to do with the distance?

I tried disabling every other network adapter and VPN I use, I also tried resetting Window's network.

I have Windows 10 Pro 20H2 up to date.
 
Last edited:
Solution
Because the same machine running a different OS works is can't be the hardware. Since it works to some locations it also can not be the router or the ISP connection to your house. This is also verified by other devices working properly.

We are left with some issue with windows.

Since it appears you have IPv6 I would first try to disable that. Many times ipv6 takes a different path than IPv4 in the internet. Not sure why so many people have poor performance with IPv6. They have said IPv6 is the future of the internet for the last 20 years but it seem that ISP do not spend the money to make it perform well.

There is a feature that used to limit the speed because of latency called TCP window size. This was fixed with a...
It can/may be distance related but mainly in that the data packets are taking different routes. And the route can change during any given session as well.

Regarding the machine you are using:

What DNS Servers are you using?

Run "ipconfig /all" (without quotes) via the Command Prompt. The IP addresse(s) are listed there.

Post the results.
 
It can/may be distance related but mainly in that the data packets are taking different routes. And the route can change during any given session as well.

Regarding the machine you are using:

What DNS Servers are you using?

Run "ipconfig /all" (without quotes) via the Command Prompt. The IP addresse(s) are listed there.

Post the results.
I'm using automatic DNS

Windows IP Configuration

Host Name . . . . . . . . . . . . : JUNIOR-PC
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Ethernet:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) Ethernet Connection (7) I219-V
Physical Address. . . . . . . . . : E0-D5-5E-DB-81-9D
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::9460:b633:7ada:6996%7(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.100.3(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : 19 December 2020 10:01:42
Lease Expires . . . . . . . . . . : 20 December 2020 10:01:42
Default Gateway . . . . . . . . . : 192.168.100.1
DHCP Server . . . . . . . . . . . : 192.168.100.1
DHCPv6 IAID . . . . . . . . . . . : 450942302
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-27-6E-D2-04-E0-D5-5E-DB-81-9D
DNS Servers . . . . . . . . . . . : fe80::1%7
192.168.100.1
NetBIOS over Tcpip. . . . . . . . : Enabled

Tunnel adapter Teredo Tunneling Pseudo-Interface:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Teredo Tunneling Adapter
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : 2001:0:2877:7aa:4a8:7c8:4aa1:299d(Preferred)
Link-local IPv6 Address . . . . . : fe80::4a8:7c8:4aa1:299d%13(Preferred)
Default Gateway . . . . . . . . . : ::
DHCPv6 IAID . . . . . . . . . . . : 218103808
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-27-6E-D2-04-E0-D5-5E-DB-81-9D
NetBIOS over Tcpip. . . . . . . . : Disabled


Edit: The problem persists with the Google DNS
 
Network Adapter: change the DNS servers to Google.

Use 8.8.8.8 and 8.8.4.4

(There are other DNS Server IP address choices but one thing at a time.....)

How to change the DNS Servers IP addresses:

https://www.windowscentral.com/how-change-your-pcs-dns-settings-windows-10

https://www.faqforge.com/windows/windows-10/dns/

If the links are not clear, you can easily find other similar links for additional guidance.

Determine if changing DNS servers makes a difference.

Do give the change some time to account for other factors.
 
Because the same machine running a different OS works is can't be the hardware. Since it works to some locations it also can not be the router or the ISP connection to your house. This is also verified by other devices working properly.

We are left with some issue with windows.

Since it appears you have IPv6 I would first try to disable that. Many times ipv6 takes a different path than IPv4 in the internet. Not sure why so many people have poor performance with IPv6. They have said IPv6 is the future of the internet for the last 20 years but it seem that ISP do not spend the money to make it perform well.

There is a feature that used to limit the speed because of latency called TCP window size. This was fixed with a feature called window scaling and was implemented by mircosoft back in window 2000. Microsoft though I think has change things over the years so I forget where the setting is hidden. I know a feature called autotune can affect it but it also causes other issues so some people change things.....this morning I am not remember details. If you can't find this option maybe a brute force method is to reinstall windows.
 
Solution
Network Adapter: change the DNS servers to Google.

Use 8.8.8.8 and 8.8.4.4

(There are other DNS Server IP address choices but one thing at a time.....)

How to change the DNS Servers IP addresses:

https://www.windowscentral.com/how-change-your-pcs-dns-settings-windows-10

https://www.faqforge.com/windows/windows-10/dns/

If the links are not clear, you can easily find other similar links for additional guidance.

Determine if changing DNS servers makes a difference.

Do give the change some time to account for other factors.

Changing to the Google DNS did not make a difference.
Since it appears you have IPv6 I would first try to disable that.

I disabled IPV6 and the issue persists. Would like to try the TCP windows method
 
Just for the record:

What did you find and what change(s) did you make?

I used these two commands in CMD
netsh interface tcp show global

This is to see the tuning of my network

netsh interface tcp set global autotuninglevel=<Value>

This is to change the autotuning level, I used "normal" as <Value> to change the settings. It worked after that.

P.S. The autotuning level was all wrong, and I didn't ever change those values.
 
Thanks:

I asked because I was poking around in Powershell to see what, if anything, I could discover per @bill001g 's suggestions.

If you are interested in such things, open Powershell and run:

Get-NetTCPSetting

and, perhaps more specifically:

Get-NetTCPSetting -Setting Internet

My results:

=============

PS C:\Users\MASKED> Get-NetTCPSetting -Setting Internet


SettingName : Internet
MinRto(ms) : 300
InitialCongestionWindow(MSS) : 10
CongestionProvider : CUBIC
CwndRestart : False
DelayedAckTimeout(ms) : 40
DelayedAckFrequency : 2
MemoryPressureProtection : Enabled
AutoTuningLevelLocal : Normal
AutoTuningLevelGroupPolicy : NotConfigured
AutoTuningLevelEffective : Local
EcnCapability : Disabled
Timestamps : Disabled
InitialRto(ms) : 1000
ScalingHeuristics : Disabled
DynamicPortRangeStartPort : 1024
DynamicPortRangeNumberOfPorts : 64511
AutomaticUseCustom : Disabled
NonSackRttResiliency : Disabled
ForceWS : Enabled
MaxSynRetransmissions : 4
AutoReusePortRangeStartPort : 0
AutoReusePortRangeNumberOfPorts : 0

============

AutoTuningLevelLocal being the culprit - correct?

And no, you do not have to change things to have things changed. Too many apps, etc. want to be the "one ring"......

Or some past problem forced the change - who knows?
 
AutoTuningLevelLocal being the culprit - correct?
That is correct, here are my PowerShell results
PS C:\Users\jlezc> Get-NetTCPSetting -Setting Internet


SettingName : Internet
MinRto(ms) : 300
InitialCongestionWindow(MSS) : 10
CongestionProvider : CUBIC
CwndRestart : False
DelayedAckTimeout(ms) : 40
DelayedAckFrequency : 2
MemoryPressureProtection : Enabled
AutoTuningLevelLocal : Normal
AutoTuningLevelGroupPolicy : NotConfigured
AutoTuningLevelEffective : Local
EcnCapability : Disabled
Timestamps : Disabled
InitialRto(ms) : 1000
ScalingHeuristics : Disabled
DynamicPortRangeStartPort : 49152
DynamicPortRangeNumberOfPorts : 16384
AutomaticUseCustom : Disabled
NonSackRttResiliency : Disabled
ForceWS : Enabled
MaxSynRetransmissions : 4
AutoReusePortRangeStartPort : 0
AutoReusePortRangeNumberOfPorts : 0