Poor download speeds in Windows 10

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
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Poor download speeds in Windows 10

Post by tboorman »

I would be very grateful for some help with improving my download speeds on my Windows 10 laptop. I have a 1 Gbps FTTH broadband connection, which has an average download speed of 900 Mbps. If I use a bootable Ubuntu USB stick on my laptop, I can consistently get download speeds of 800+ Mbps on a wired connection to my router, but when I am using Windows 10, the fastest download speed that I have achieved is 280 Mbps. I have run the TCP/IP Optimizer and chosen the optimal settings, tried both normal and experimental for TCP Window Auto-Tuning, and also tried disabling all offload settings on the NIC. Is there anything else that I can try? The NIC in my laptop is a Qualcomm Atheros AR8161 PCI-E Gigabit Ethernet Controller (NDIS 6.30), and I am using driver version 2.1.0.27 dated 18/09/2017, which I believe is the latest driver version available.

Thanks,

Tim
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

Seems you have already done the basic troubleshooting tasks. Next step would be to tinker more with the NIC driver parameters, for example try manually setting speed and duplex (not auto).

Another thing you can try is resetting TCP/IP and Winsock, there are options to do that in the "File" menu in the TCP Optimizer. You can test using the Windows defaults settings, and after applying the TCP Optimizer "optimal" settings again, but resetting TCP/IP and Winsock ensures there were no other modifications from some other drivers/software.
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

Thanks Philip, I will give your suggestions a try. Should my laptop’s MTU be set to the same as my router’s MTU - this is 1480, as I have a PPPoE connection?
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

I would use 1480 MTU on the laptop as well, otherwise the router would have to re-package all packets to fit its MTU. This is not a problem per se, but may introduce a couple of milliseconds latency.
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

I reset Winsock and TCP/IP, and then tried the following:

Windows default – https://www.speedtest.net/result/10296812773 and https://www.speedtest.net/result/10296818814
Optimal – https://www.speedtest.net/result/10296881418 and https://www.speedtest.net/result/10296885425
Optimal, TCP Window Auto-Tuning experimental – https://www.speedtest.net/result/10296941034 and https://www.speedtest.net/result/10296945314
Optimal, TCP Window Auto-Tuning, MTU 1480 – https://www.speedtest.net/result/10296986683 and https://www.speedtest.net/result/10296990685

The last one was the best, but none of these were near the download speeds that I should be getting.

There is not an option to set the NIC to 1000 Mbps full duplex, only 10 Mbps full or half duplex, 100 Mbps full or half duplex, or auto negotiation. Is this likely to be an issue with the Windows driver for my NIC?
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

You may want to increase the number of Send/Receive buffers in the Network Adapter properties. I wouldn't use Experimental TCP Wndow auto-tuning, it used to have some issues with LAN transfers and such.

The only other thing I could immediately think of is to check CPU/Network load in the Windows Task manager, and, in your router's admin interface while testing at those speeds.
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

That last one should have read Optimal, TCP Window Auto-Tuning experimental, MTU 1480.
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

Philip wrote:You may want to increase the number of Send/Receive buffers in the Network Adapter properties. I wouldn't use Experimental TCP Wndow auto-tuning, it used to have some issues with LAN transfers and such.

The only other thing I could immediately think of is to check CPU/Network load in the Windows Task manager, and, in your router's admin interface while testing at those speeds.
I know it is not a router issue, as the download speeds are fine when I use a bootable Linux USB stick on my laptop. I will change the TCP Window Auto-Tuning back to normal, and see whether I can change the number of send/receive buffers in my NIC settings.

Thanks again Philip.
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

I mentioned to also check the router load since different Network Adapter configurations may affect packet headers, QoS settings, etc. that can also affect router load and OS load, increasing the required processing power. This becomes more emphasized with higher speeds, if you notice 100% CPU load at 300+ Mbps you'd know to narrow down where to look for the issue, which may still be NIC drivers/settings. The Linux and Windows NIC drivers likely support different TCP/IP settings.
Linux is user friendly, it's just picky about its friends...
Disclaimer: Please use caution when opening messages, my grasp on reality may have shaken loose during transmission (going on rusty memory circuits). I also eat whatever crayons are put in front of me.
๑۩۞۩๑
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

What I am going to try is increasing Receive Buffers from 512 to the maximum of 2048, and Transmit Buffers from 256 to the maximum of 1024.

digit.in/features/tech/tweak-network-adapter-properties-networking-ethernet-wifi-vpn-45243.html also recommends disabling Flow Control and Interrupt Moderation - do you think that I should do this too?
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

The above did not really help - see https://www.speedtest.net/result/10300977161 and https://www.speedtest.net/result/10300969208.

The CPU on my laptop maxed out during the tests.
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

If your CPU is maxed out during tests that would definitely be the culprit, the Network adapter settings have to be examined more carefully, see which ones reduce CPU usage.
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

Philip wrote:If your CPU is maxed out during tests that would definitely be the culprit, the Network adapter settings have to be examined more carefully, see which ones reduce CPU usage.
Thanks Philip. Any suggestions as to which ones are likely to affect CPU usage please?
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

To reduce CPU usage, you may want to turn on Interrupt Moderation, turn on jumbo frames, and turn on some offloads like checksum, LSO, ARP, NS offload (it will reduce CPU load by turning some functionality over to the NIC).
Linux is user friendly, it's just picky about its friends...
Disclaimer: Please use caution when opening messages, my grasp on reality may have shaken loose during transmission (going on rusty memory circuits). I also eat whatever crayons are put in front of me.
๑۩۞۩๑
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

Apart from jumbo frames and LSO, the others are already enabled. I will try enabling LSO, but would jumbo frames work with a broadband connection? Would reducing the number of RSS queues from 4 to 2 also help?
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

RSS queues usually defaults to 4, however, reducing it to 2 may help reduce CPU utilization. It should generally be set to 4, or at most to the number of physical CPU cores before hyperthreading, whichever is smaller.
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

I have enabled LSO, and have reduced the number of RSS queues to 2 (as my laptop has 2 CPU cores), but the CPU is still being maxed out when I run speed tests. I am at a loss as to what else I can do now.
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

You may want to try deleting/uninstalling the Network Adapter driver in device manager (it may be useful to download the driver and have it handy on the PC beforehand). Try and see if there is a difference in CPU utilization with the Windows default drivers for it.

It could also be some other software interfering with it, like, for example OEM programs ("Lenovo utility", for example uses the NICs and is known to cause high usage), anti-malware that is running real time (Bitdefender, other third-party firewalls/anti-viruses, etc.), VPN tunneling software, etc.
tboorman
New Member
Posts: 12
Joined: Thu Oct 22, 2020 11:36 am

Post by tboorman »

I am disabling Kaspersky Internet Security before carrying out any speed tests, and have unticked NordVPN LightWeight Firewall for the NIC. Does QoS Packet Scheduler need to be ticked?
User avatar
Philip
SG VIP
Posts: 11526
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

QoS packet scheduler only applies to some apps/transfers.. Third-party antivirus and firewall software is definitely a suspect, some of them affect load even when turned off.
obradka
New Member
Posts: 5
Joined: Wed Dec 09, 2020 2:52 pm

Post by obradka »

Philip wrote:QoS packet scheduler only applies to some apps/transfers.. Third-party antivirus and firewall software is definitely a suspect, some of them affect load even when turned off.

Make sure that there are no barriers between the router and the receiving device. This can be, for example, metal objects, walls and various sources of electromagnetic field.
JuneAmara
New Member
Posts: 1
Joined: Tue Feb 01, 2022 2:22 am

Post by JuneAmara »

Nothing to do with Windows version.
LeckerRK
New Member
Posts: 3
Joined: Fri Feb 11, 2022 5:41 am
Location: Bremen

Mtu

Post by LeckerRK »

tboorman wrote:That last one should have read Optimal, TCP Window Auto-Tuning experimental, MTU 1480.
Schnelles Internet über Kabel verwendet 1500 MTU und Windows Update auch,davon kann ich nur abraten denn der ideale Wert auch für Kabel ist 1492 und PPPoE.Time to Live sollte bei jedem Anschluss getestet werden entweder TTL 64 oder meistens TTL 128 als Custom einstellen nach Speedtest z.b. bei
https://www.speedtest.net/de oder bei
https://www.speed.io/
nach den Windows Updates sollte man TCL Optimizer wieder ausführen da Windows bei den Updates immer die Werte beim Internetanschluß verändert.

Die besten Speedtest bekommt man z.b. bei Steam wenn man ein Spiel runter lädt und vorher bei Downloads seinen Server auf Holland stellt Netherlands denn der ist schneller als Deutsche und Steam holt das maximum an Download raus.
Jeder sollte seine Internetverbindung ob Ethernet oder Wlan ect. auf Privat stellen und bloß nicht öffentlich.
Post Reply