Need advice - large throughput drops when downloading large files (single threaded only) - via ethernet

Soldato
Joined
30 Jun 2019
Posts
8,158
I'm getting large throughput drops when downloading a 1GB file from the following server (and other similar websites):

Here are some screenshots of the issue on an ethernet 1gbps LAN connection:

15E2UXW.jpeg


The same problem occurs via WI-FI also:

d3vxTcY.jpeg


I've tried the same ethernet port in my room with a laptop, and the 1GB file downloads at a steady 400mbps.

The issue only occurs with single threaded / single connection downloads (multi connection downloads are approx. 400mbps), it's very strange.

My ISP is Virgin Media, technology type= FTTP (via Nexfibre).

The testing I've done so far indicates an issue with my PC, I think it's probably a Windows 11 issue. Changing the ethernet adapter makes no difference. I've tried a full reset of the network connection, followed by a full repair of Windows 11, but no luck yet.

EDIT - tested safe mode with networking as well, with the same result.
 
Last edited:
Do you have jumbo packets enabled in the Advanced tab of the NIC's properties?
It's disabled.

A couple of days ago, I found out about different TCP profile configurations in Windows, which can be changed with this command via command prompt:

netsh interface tcp set global autotuninglevel=

The options are:
  • disabled
  • highlyrestricted
  • restricted
  • normal
  • experimental
Setting it to disabled seems to stabilise the download rate, but reduces the bandwidth significantly.

I'm going to try a Linux Live CD install, to see if Linux behaves in a similar way.
 
Last edited:
I followed a guide to install Windows 10 (Windows to Go) on an external SSD, and I'm impressed with how well Windows works installed like this, seems to be fully functional. Ideal for testing.

You can tell Rufus (used to install the ISO file to external drive) not to allow this Windows version to access other drives on your PC, which is very useful.

I've just tested downloading the same 1GB file in Chrome and it seems to be downloading very consistently and well:

Test 1:

zVLLKVv.png



Test 2:

sGOdNXJ.png


It's pretty annoying tbh, I last reinstalled Windows 11 a couple of months ago, and I've already run into a problem I can't solve.
 
Last edited:
Normally with a single connection, TCP will drop a lot of packets, and you'll normally see lots of bandwidth drops (depending how well you're monitoring it) sometimes the graph will smooth the drops right out, but they will be there.

This is due to how TCP windowing works, when the server first begins sending data to the client, after each window - it will increase the amount of data it sends exponentially until a packet gets dropped (due to a buffer filling up somewhere). When this happens, TCP goes into congestion management mode, (TCP slow start) where it 'backs off' slows down, then slowly ramps up again., if fast recovery is being used - it normally performs better. (depends on the implementation, although I think almost everything uses fast-recovery)

It does this over and over, so if you're monitoring it at a rapid interval you'll normally see a sawtooth pattern or lots of peaks - this is normal for most TCP, it's just that most graphs smooth it out.

Changing the congestion algorithm will only affect the host that's sending the data, so if the client is requesting data - changing the congestion algorithm won't make any difference, only changing it on the server would make a difference there (there's no negotiation of the congestion management algorithm, it's local to each host AFAIK).

(When I download that file on my mac, it's all over the place, so I wouldn't worry - it just looks like normal TCP behaviour to me :) )
 
Nah, there's a huge difference. The downloads complete more quickly on my W10 install.

On Windows 11, the download time was approx. 27 seconds.

On Windows 10, the download time was approx. 21 seconds.

in this post:
https://forums.overclockers.co.uk/t...aded-only-via-ethernet.18998672/post-37632989

This is showing Windows 10 (test install on external SSD), the initial post shows Windows 11.

I haven't worked out the reason why yet. It's not the driver, I tried the W10 network driver on Windows 11 (had to disable driver enforcement), but got the same result.
 
Last edited:
Does it have killer Ethernet or similar software installed when in Windows 11? Or any kind of non Microsoft AV/firewall?
 
I uninstalled malware bytes fully. I'll see if there's anything else.

I've just downloaded a Windows 11 ISO, and the same erratic downloading behavior can be seen here also:

gwv3hYf.jpeg


I'm going to see what happens with a Windows 11 (Windows to Go) install on an external SSD.
 
Last edited:
I would be looking at your ISP and their T&Cs, or the remote server you are downloading from.
 
I've tried it on Windows 11 (Windows to Go) on an external SDD now.

The issue doesn't occur, which means it's an issue with my install of Windows 11 on my internal SSD.
 
Does it have killer Ethernet or similar software installed when in Windows 11? Or any kind of non Microsoft AV/firewall?
Is there a solution to the sawing on the killer/Intel card. I had to disable the adpater on a Windows 11 install 24H2.
I didn't give it much time as the board has 2 inbuilt gigabit ports. My first thought process was maybe QOS but that wasn't it!
I read they was bought out by intel and intel isn't updating the drivers for whatever reason, just speculation though maybe.
 
Anyone got any ideas?

I'm probably gonna have to backup files, format the C drive and re-install Windows 11, it looks like.
 
Last edited:
Anyone got any ideas?

The only way to see what's properly going on with TCP and poor performance is to capture the traffic and look at a PCAP.

If you like - download wireshark, run your download - capture say 30 seconds of traffic to a .pcap file, then upload it to google drive and i'll take a look at it tomorrow night, I should hopefully be able to give insight.

(This is basically part of my day job)
 
That's nice of you to offer :)

When downloading the 1GB file on Vodafone's server, I basically see a lot of 'TCP DUP ACK' messages, once the download has begun.

When Googling - this is what the generative AI has to say:

Here's a snippet of the messages shown in Wireshark, with IPs removed:

bwans1v.jpeg
 
Last edited:
Yeah, you're always going to see lots of dup acks in any TCP session, this is because TCP will always window-up until it overloads a buffer somewhere (something is dropped) - you get some dup-acks, and the whole thing slows down and then speeds up again, (this is normal and will be present somewhere in all TCP sessions, as it's how TCP works out how to reliably transfer data without blowing up buffers everywhere.)

TCP congestion control and troubleshooting drops can be quite complex, if you want to work it out - you need to learn how to look at PCAP files.

If you want to learn how to troubleshoot TCP - Chris Greer's guides on Youtube are a great place to start.

 
Here's a snippet of the messages shown in Wireshark, with IPs removed.

Yeah so that basically shows that a packet was lost, and TCP has gone into loss recovery where it's acking every single packet, to try and catch up with what was lost. (which is when the server basically stops sending, as it's in loss recovery until it catches up and sends the missing segment)

If you're getting huge amounts of dup-acks, it might be that there's packet-loss on the VF end or in the network somewhere, or there's quite a bit of latency of jitter - which will always affect single-threaded TCP sessions.

That said, if it works absoltely fine with windows 10 - that is interesting, and if both PCAPS look different - that would be interesting. As the TCP implementation shouldn't really be causing a problem, especially on the client side - as it's just acking the data the server is sending - but either way, totally compare both PCAPS.
 
Last edited:
I did the same thing in my Windows 11 (Windows to Go) external SSD install.

The capture showed almost entirely ACK packets, with 1 part showing a pattern of DUP ACK packets.

Not all that interesting to look at.

Back on the Windows 11 internal SSD install, when the bandwidth drops down to almost nothing I see these kind of messages:

e7GzYmj.jpeg
 
Last edited:
That’s really interesting - zerowindows are likely the problem here.

Basically, a zero window means that your input buffer is full and your pc can’t clear it.

Think of water going into the sink too fast and the plug hole isn’t big enough, you have to turn off the tap. Zerowindow is your client telling the server “my buffer is full, stop sending”

Have you changed any of the default Windows’s network settings? Or is everything 100% default?

Are you running the proper nic drivers for your card?

You could try changing the receive buffer in the tcp settings in windows tcp/ip settings, but this should totally work out of the box.
 
Last edited:
Back
Top Bottom