Local network: uploads way slower than downloads on local network

Page 1 of 2 12 LastLast

  1. Posts : 7
    Win10
       #1

    Local network: uploads way slower than downloads on local network


    Update: see iperf tests below. Issue appears to be OS-related. No speed problems on Linux boxes, Windows causes upload slowdown.

    Issue: using local gigabit network uploads peak at 7-10MB/s while downloads fully saturate the link at 110MB/s. This happens whether connected to a switch or with computers connected directly, as well as with a NAS. Both NICs confirmed to connect at gigabit speeds. I've updated NIC drivers to the latest. I've tried enabling and disabling Large Send Offload. Netbios is enabled.

    I've tested laptop-switch-desktop, laptop-switch-NAS, desktop-switch-NAS, desktop-laptop, desktop-NAS and laptop-NAS connections using various cables and the end result is the same - downloads are at full 1000Mbps speed and uploads barely reach 100Mbps.

    Any suggestions where to start looking here as wiring and NICs seem to have been eliminated as culprits?
    Code:
    C:\iperf-3.1.3-win64>iperf3.exe -c 192.168.2.2
    Connecting to host 192.168.2.2, port 5201
    [  4] local 127.0.0.1 port 51047 connected to 192.168.2.2 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec  5.25 MBytes  44.0 Mbits/sec
    [  4]   1.00-2.00   sec  4.00 MBytes  33.6 Mbits/sec
    [  4]   2.00-3.00   sec  5.00 MBytes  41.8 Mbits/sec
    [  4]   3.00-4.00   sec  4.00 MBytes  33.6 Mbits/sec
    [  4]   4.00-5.00   sec  4.50 MBytes  37.7 Mbits/sec
    [  4]   5.00-6.00   sec  4.00 MBytes  33.6 Mbits/sec
    [  4]   6.00-7.00   sec  4.50 MBytes  37.7 Mbits/sec
    [  4]   7.00-8.00   sec  4.00 MBytes  33.6 Mbits/sec
    [  4]   8.00-9.00   sec  4.00 MBytes  33.6 Mbits/sec
    [  4]   9.00-10.00  sec  4.50 MBytes  37.7 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-10.00  sec  43.8 MBytes  36.7 Mbits/sec                  sender
    [  4]   0.00-10.00  sec  42.5 MBytes  35.6 Mbits/sec                  receiver
    
    
    iperf Done.
    
    
    C:\iperf-3.1.3-win64>iperf3.exe -c 192.168.2.2 -R
    Connecting to host 192.168.2.2, port 5201
    Reverse mode, remote host 192.168.2.2 is sending
    [  4] local 127.0.0.1 port 51051 connected to 192.168.2.2 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec  80.6 MBytes   676 Mbits/sec
    [  4]   1.00-2.00   sec  80.7 MBytes   677 Mbits/sec
    [  4]   2.00-3.00   sec  81.4 MBytes   683 Mbits/sec
    [  4]   3.00-4.00   sec  81.1 MBytes   680 Mbits/sec
    [  4]   4.00-5.00   sec  80.4 MBytes   675 Mbits/sec
    [  4]   5.00-6.00   sec  82.2 MBytes   690 Mbits/sec
    [  4]   6.00-7.00   sec  81.9 MBytes   687 Mbits/sec
    [  4]   7.00-8.00   sec  82.0 MBytes   688 Mbits/sec
    [  4]   8.00-9.00   sec  81.8 MBytes   686 Mbits/sec
    [  4]   9.00-10.00  sec  81.7 MBytes   685 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-10.00  sec   818 MBytes   686 Mbits/sec                  sender
    [  4]   0.00-10.00  sec   816 MBytes   685 Mbits/sec                  receiver
    
    
    iperf Done.
    
    
    C:\iperf-3.1.3-win64>
    Last edited by herzzreh; 11 Feb 2017 at 21:17.
      My Computer


  2. Posts : 11,247
    Windows / Linux : Arch Linux
       #2

    Hi there

    Not sure if the router has something to do with it - especially if it's an el-cheapo one from a typical ISP. There might be some fiddly parameters and also full duplex mode should be used.

    Even though you are on a LOCAL LAN the whole kybosh still has to pass through the router -- that's the next place where I'd start looking for problems.

    If you've directly connected the computers - via a "reversing LAN cable" and you aren't getting full speeds there's got to be something in the parameters of the NIC's.

    I suspect that since until recently it was hard to get anything like 100Mb/s on UPLOAD this issue was never really dealt with - download speeds of nearly 1Gb/s have been available for ages now so the hardware is well fit for purpose.

    Try also say using an FTP client l to transfer files rather than File explorer and see if that makes any difference.

    Filezilla (it's free and has both a client and a server version).

    FileZilla - The free FTP solution

    Another issue could be the speed and buffer size of the HDD's themselves -- WRITE might be really slow which will kill your upload speed -- READS are often very much faster. If you've got an SSD connect say to your NAS via SATA-->USB3 adapter cable and copy a say 4GB file to the SSD -- now try your upload from the SSD and see what speed you get to the remote computer - first over direct LAN cable and then via the router. Ideally you should use an SSD on each end to test of course -- note that USB3 connection is faster than the probable speed of the disk anyway so still a good test.

    Over 90% of poor computer performance I've dealt with over the last few years has been HIDEOUSLY SLOW HDD's - Writes do take much longer than READS and if the cache is small you can't buffer a decent chunk to get a sustained fast throughput.

    Cheers
    jimbo
      My Computer


  3. Posts : 7
    Win10
    Thread Starter
       #3

    Hey,

    I wish I could blame the router, but it's not even in the play. Everything is connected using GBe switch and even when I took that out of the equation, everything still stayed the same. FTP is the same - fast download and slow upload.

    I haven't tested the desktop HDD (it's a Seagate SHDD), but other drives in play are WD Red Pros. I ran hdparm on those and got consistent 3000+ MB cached writes and 200+ buffered writes. They should work fine. Also mapped anubbad sectors (none), SMART checks out. I think I can rule the drives out at this point.

    I'm leaning towards either NIC or Windows config since both computers exhibit the same issue (I took NAS out of the play for now). While I don't have any Cat6 patch cables, I'm pretty sure I should be able to sustain gigabit speeds over a 3ft Cat5e cable...

    I've disabled the usual suspects (green Ethernet, LOS). Not sure where to start looking at this point.
      My Computer


  4. Posts : 856
    Windows 10 Pro 21H2 build 19045.2193 Dual Boot Linux Mint
       #4

    Duplex maybe? default appears to be Auto Negotiate, I have mine all set at 1.0 Gbps Full Duplex.
      My Computers


  5. Posts : 7
    Win10
    Thread Starter
       #5

    clam1952 said:
    Duplex maybe? default appears to be Auto Negotiate, I have mine all set at 1.0 Gbps Full Duplex.
    Nope, not it. All is set to 1000FD.
      My Computer


  6. Posts : 11,247
    Windows / Linux : Arch Linux
       #6

    Hi there

    I'm sure it's something with the I/O caching which means Windows somewhere.

    On Download there's only presumably 1 WRITE since the download is already in the process of being done and you probably are looking at the speed the Target computer is working at

    On Upload - the destination computer has to wait for READ from the remote machine, buffer the data into the Lan transfer mechanism - presumably the Nics, then enable a WRITE on the remote computer and empty the data from the Nic.

    I'm not sure how this actually works and all the parameters involved but there's definitely MORE operations needed on UPLOAD than DOWNLOAD.

    Can you try the same thing with a LINUX OS - that will rule out Windows and point to the Nics.

    There's plenty of decent Live distros you can boot straight from USB without touching any of your HDD's.

    Filezilla for FTP works just fine on Linux if you want an FTP client (GUI version) if you don't want to try using command mode (console).

    You should try though to have say two ext4 files rather than a mix of NTFS and Linux as although Linux can read / write NTFS there;s an additional overhead - although in the scheme of what you are testing it might be ignorable.

    Cheers
    jimbo
      My Computer


  7. Posts : 7
    Win10
    Thread Starter
       #7

    I'm about to try live booting Mint Linux but here's what I have for now... I'm blaming Windows networking more and more now.


    This is from Win laptop to Win desktop direct connection -
    Code:
    C:\iperf-3.1.3-win64>iperf3.exe -s
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    Accepted connection from 192.168.3.4, port 54193
    [  5] local 192.168.3.3 port 5201 connected to 192.168.3.4 port 54195
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-1.01   sec  5.03 MBytes  41.9 Mbits/sec
    [  5]   1.01-2.00   sec  4.78 MBytes  40.4 Mbits/sec
    [  5]   2.00-3.00   sec  5.51 MBytes  46.2 Mbits/sec
    [  5]   3.00-4.00   sec  6.47 MBytes  54.3 Mbits/sec
    [  5]   4.00-5.00   sec  5.75 MBytes  48.2 Mbits/sec
    [  5]   5.00-6.00   sec  6.16 MBytes  51.7 Mbits/sec
    [  5]   6.00-7.00   sec  6.34 MBytes  53.2 Mbits/sec
    [  5]   7.00-8.00   sec  7.55 MBytes  63.3 Mbits/sec
    [  5]   8.00-9.00   sec  5.52 MBytes  46.3 Mbits/sec
    [  5]   9.00-10.00  sec  6.23 MBytes  52.3 Mbits/sec
    [  5]  10.00-10.05  sec   263 KBytes  46.7 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-10.05  sec  0.00 Bytes  0.00 bits/sec                  sender
    [  5]   0.00-10.05  sec  59.6 MBytes  49.8 Mbits/sec                    receiver
    -----------------------------------------------------------  
    Server listening on 5201

    Here are the results with server running on desktop, from NAS (Linux) -


    Code:
    C:\iperf-3.1.3-win64>iperf3.exe -s
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    Accepted connection from 192.168.2.2, port 56845
    [  5] local 192.168.2.145 port 5201 connected to 192.168.2.2 port 56846
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-1.00   sec   108 MBytes   904 Mbits/sec
    [  5]   1.00-2.00   sec   112 MBytes   937 Mbits/sec
    [  5]   2.00-3.00   sec   112 MBytes   942 Mbits/sec
    [  5]   3.00-4.00   sec   112 MBytes   941 Mbits/sec
    [  5]   4.00-5.00   sec   112 MBytes   941 Mbits/sec
    [  5]   5.00-6.00   sec   112 MBytes   940 Mbits/sec
    [  5]   6.00-7.00   sec   112 MBytes   941 Mbits/sec
    [  5]   7.00-8.00   sec   112 MBytes   942 Mbits/sec
    [  5]   8.00-9.00   sec   112 MBytes   941 Mbits/sec
    [  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec
    [  5]  10.00-10.04  sec  4.14 MBytes   943 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-10.04  sec  0.00 Bytes  0.00 bits/sec                  sender
    [  5]   0.00-10.04  sec  1.09 GBytes   937 Mbits/sec                  receiver
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------


    Server running on NAS (Linux), testing from desktop (Windows) -


    Code:
    C:\iperf-3.1.3-win64>iperf3.exe -c 192.168.2.2
    Connecting to host 192.168.2.2, port 5201
    [  4] local 127.0.0.1 port 51047 connected to 192.168.2.2 port 5201 
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.01   sec  4.75 MBytes  39.3 Mbits/sec
    [  4]   1.01-2.01   sec  4.00 MBytes  33.6 Mbits/sec
    [  4]   2.01-3.01   sec  4.00 MBytes  33.6 Mbits/sec
    [  4]   3.01-4.01   sec  4.50 MBytes  37.8 Mbits/sec
    [  4]   4.01-5.00   sec  5.00 MBytes  42.4 Mbits/sec
    [  4]   5.00-6.01   sec  5.00 MBytes  41.5 Mbits/sec
    [  4]   6.01-7.01   sec  4.00 MBytes  33.6 Mbits/sec
    [  4]   7.01-8.01   sec  5.00 MBytes  42.0 Mbits/sec
    [  4]   8.01-9.01   sec  3.50 MBytes  29.4 Mbits/sec
    [  4]   9.01-10.01  sec  4.50 MBytes  37.8 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-10.01  sec  44.2 MBytes  37.1 Mbits/sec                  sender
    [  4]   0.00-10.01  sec  43.4 MBytes  36.4 Mbits/sec                  receiver
      My Computer


  8. Posts : 7
    Win10
    Thread Starter
       #8

    This is definitely a Windows issue. Here are the results from live booting Linux Mint with server running on a Windows laptop -

    Code:
    mint@mint ~/Desktop/Qfinder $ iperf3 -c 192.168.2.150
    Connecting to host 192.168.2.150, port 5201
    [  4] local 192.168.2.213 port 47694 connected to 192.168.2.150 port 5201
    [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
    [  4]   0.00-1.00   sec  89.4 MBytes   750 Mbits/sec    0    221 KBytes       
    [  4]   1.00-2.00   sec   105 MBytes   878 Mbits/sec    0    221 KBytes       
    [  4]   2.00-3.00   sec   112 MBytes   939 Mbits/sec    0    221 KBytes       
    [  4]   3.00-4.00   sec   112 MBytes   936 Mbits/sec    0    221 KBytes       
    [  4]   4.00-5.00   sec   112 MBytes   939 Mbits/sec    0    221 KBytes       
    [  4]   5.00-6.00   sec   111 MBytes   935 Mbits/sec    0    221 KBytes       
    [  4]   6.00-7.00   sec   112 MBytes   942 Mbits/sec    0    221 KBytes       
    [  4]   7.00-8.00   sec   112 MBytes   939 Mbits/sec    0    221 KBytes       
    [  4]   8.00-9.00   sec   111 MBytes   927 Mbits/sec    0    221 KBytes       
    [  4]   9.00-10.00  sec   110 MBytes   927 Mbits/sec    0    221 KBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.06 GBytes   911 Mbits/sec    0             sender
    [  4]   0.00-10.00  sec  1.06 GBytes   910 Mbits/sec                  receiver
    Running test in reverse, Windows laptop shows average of 50mbps.
      My Computer


  9. Posts : 856
    Windows 10 Pro 21H2 build 19045.2193 Dual Boot Linux Mint
       #9

    Wonder if this is related to the bandwidth throttling issue in Vista and Win7?
    Found it, anything here help SG ::

    specifically this maybe.
    Network Throttling Index

    Applies to Windows 7, 8, 10, 2008 Server, and 2012 Server. Setting can be applied using the TCP Optimizer as well.
    By default, Windows implements a network throttling mechanism to restrict the processing of non-multimedia network traffic to 10 packets per millisecond (a bit over 100 Mbits/second). The idea behind such throttling is that processing of network packets can be a resource-intensive task, and it may need to be throttled to give prioritized CPU access to multimedia programs. In some cases, such as Gigabit networks and some online games, for example, it is beneficial to turn off such throttling all together for achieving maximum throughput.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile
    NetworkThrottlingIndex=ffffffff (DWORD, default: 10, recommended: 10 for media sharing, ffffffff for gaming and max throughput, valid range: 1 through 70 decimal or ffffffff to completely disable throttling)
    It is only recommended to change this setting in saturated Gigabit LAN environments, where you do not want to give priority to multimedia playback. Reportedly, disabling throttling can also help reduce ping spikes in some online games.


      My Computers


  10. Posts : 7
    Win10
    Thread Starter
       #10

    clam1952 said:
    Wonder if this is related to the bandwidth throttling issue in Vista and Win7?
    Found it, anything here help SG ::

    specifically this maybe.
    YES! Changed it to ffffffff and now I'm getting nice and consistent 500mbps uploads to a slow laptop! THANK YOU!
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 18:10.
Find Us




Windows 10 Forums