Slow internet on one PC, but fast LAN speeds

Lee Shaver 21 Reputation points
2022-09-28T03:04:41.993+00:00

My ISP provides internet speeds of 300 Mbps up / 10 Mbps down. On my personal PC, I am seeing these speeds in speed test apps, and also when downloading large files.

  • 340 Mbps, Fast.com
  • 311, speedtest.net
  • 278, Google's internet speed test
  • 190, testmy.net

But, on my work PC, I am getting much slower speeds in practice. Note that speedtest.net shows fast speeds, but what I'm seeing on testmy.net is much closer to what I'm actually experiencing when downloading large files.

  • 130 Mbps, Fast.com
  • 341, speedtest.net
  • 15, Google's internet speed test
  • 9, testmy.net

Note that this isn't a little bit slow. I should be getting 300 Mbps, and I'm not even getting 10% of that in practice -- this is a huge slow down. For the work I do, 10 Mbps is nowhere near sufficient.

Here are all the things I've already tried and ruled out:

  • Both PCs are on the same Ethernet network
  • For file transfers over LAN I'm seeing speeds over 200 Mbps
  • Swapped cables, factory reset router, power cycled router and modem
  • ISP came out and tested modem
  • Updated network drivers, ran Windows update, re-installed network cards
  • Seeing the same speeds on safe mode with networking, and after a clean boot
  • Uninstalled the antivirus and firewall
  • We don't use a VPN for work (everything is on SharePoint)
  • Tech supports I've tried working with: HP, my office, my ISP.

I've tried everything else that's easily google-able. What else can I try?

Windows for business | Windows Client for IT Pros | Networking | Network connectivity and file sharing
{count} votes

Accepted answer
  1. Gary Nebbett 6,216 Reputation points
    2022-09-29T07:55:32.623+00:00

    Hello Lee,

    Here is a graph of that transfer:

    245857-image.png

    Superficially, it looks "OK" and we can see that about 7 megabytes are transferred in 6 seconds (giving 1.2 megabytes per second or 9.3 megabits per second). The problem becomes apparent when we zoom in on a section of the graph:

    245972-image.png

    There are long periods of time when no data is transferred. That is because the "round trip time" (RTT) for this connection seems to be about 50 milliseconds and the maximum receive window is about 64 kilobytes. Those values give a theoretical maximum data transfer rate of 1000 / 50 * 64 = 1.28 megabytes per second or 10.2 megabits per second.

    The future "fate" of the maximum performance of the connection is decided in the first packet sent (the TCP SYN from the client to the server); the TCP options in that packet are: "mss 1460,nop,nop,sackOK". Notably missing from those options is a "window scaling" option, so the maximum windows size is the maximum unsigned value representable with 16 bits.

    We just need to find out why no windows scaling was negotiated - this may be because of a system setting or intervention by some third party software.

    What does the command netsh interface tcp show global show on the system? On my PC the output looks like this:

    TCP Global Parameters  
    ----------------------------------------------  
    Receive-Side Scaling State          : enabled  
    Receive Window Auto-Tuning Level    : normal  
    Add-On Congestion Control Provider  : default  
    ECN Capability                      : disabled  
    RFC 1323 Timestamps                 : allowed  
    Initial RTO                         : 1000  
    Receive Segment Coalescing State    : enabled  
    Non Sack Rtt Resiliency             : disabled  
    Max SYN Retransmissions             : 4  
    Fast Open                           : enabled  
    Fast Open Fallback                  : enabled  
    HyStart                             : enabled  
    Proportional Rate Reduction         : enabled  
    Pacing Profile                      : off  
    

    One possible explanation of why some speed test tools show good values is that they normally opening several connections in parallel (20 to 30 or so might be common) and sum the data transferred over all of the connections - this is a good way to estimate the speed of the link. testmy.net seems to just use one connection - the result is interesting and useful but different in interpretation from the other speed test sites.

    Gary

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.