Slow LAN Transfer

Associate
Joined
15 Feb 2008
Posts
1,321
Hi,

I have 3x AM4 based PC's all hard wired via Cat5e cable (1Gb) and all have the same issue.
When I copy files from any of the PC's to another transfer speeds are maxing out around 40MB/s but if I write files to either of the PC's it will max the 1Gb connection.

I've installed intel NIC's to each PC and able to max the 1Gb connection eaither way.

All are running windows 10, all drivers are upto date as is the network switch.

Does anyone have any ideas on the possible issue?

PC1
Asus x570 Dark Hero (both 1Gb & 2.5Gb ports)

PC2
MSI B450M Mortar

PC3
MSI B450 Gaming Plus

cheers
 
Soldato
Joined
29 Dec 2002
Posts
7,249
What you've written doesn't seem to make a lot of sense. First you tell us when you copy files it's hitting 40MB/s, but if you 'write' files to either (which?) of the PC's it hits gigabit, then you tell us you've installed Intel NIC's to each PC and can do symmetrical gigabit. Help us to help you :)
 
Soldato
Joined
18 Oct 2002
Posts
3,512
Location
UK
I’m going to guess that “copying” in this scenario means initiating a copy from a share on PC1 to a share on PC3 from PC2 or any combination whereas “write” means copying a local file say from PC2 onto a share on PC3. I’ve always found that copying share-to-share over the network via a third computer is slower but am not knowledgable enough to give an explanation as to why.
 
Associate
OP
Joined
15 Feb 2008
Posts
1,321
Apologies, I'm useless at explaining anything.


Basically 1 of the PC's is used as a "mediaserver" which also stores backups and than is uploaded to the cloud.

Using the onboard ethernet port on all 3 of the PC's, if I copy a file from mediaserver to either PC1 or PC2 transfer speeds will max out at around 40MB/s (same if I go PC1 to PC2)

If I copy a file from PC1 or PC2 to mediaserver than I will get around 110MB/s which is correct.

As a test I installed a intel dual NIC to each PC and was able to achieve 110MB/s when copying files from mediaserver to PC1 or PC2 and again from PC1/PC2 to mediaserver.

Things I have tried:

Uninstalling manufacturer's drivers and using MS default drivers
Installed SSD drives to each machine as transfer drives to rule out the mechanical drives been the issue.
Clean w10 installs
Intel NIC on all 3 machines
Different Switch
 
Soldato
Joined
18 Aug 2007
Posts
9,710
Location
Liverpool
I, too, struggled with the OP, so thanks for clarifying. If I understood you correctly, a transfer from the NAS (effectively) to any PC is bottlenecked at around 40Mbps. A transfer between PC1 and PC2 is likewise bottlenecked. However a transfer from either PC1 or PC2 to NAS works OK:

NAS -------> PC1 = slow
NAS -------> PC2 = slow
PC1 -------> PC2 = slow
PC1 -------> NAS = fast
PC2 --------> NAS = fast
(Any machine with an Intel NIC) -------> (Any machine with an Intel NIC) = fast

Yes?

It's an offchance, but I saw an issue like this with broken drivers making LRO and TSO break (Large Receive Offload and TCP Segmentation Offload). You can disable those in the driver options under Device Manger (Windows), or with ethtool (*nix):

sudo ethtool -K eth0 tso off
sudo ethtool -K eth0 lro off

(amending eth0 to suit your actual NIC's name) and try again. It worked for me when I encountered it a couple of years ago, and I went from ~40Mbps to 110Mbps until, finally, a driver update resolved it at some point. Quite when, I don't know, as I just reinstalled at some point and it worked OK without the tweaks. It's an outside chance but it's worth a go. It takes seconds to try and it would fit with why inbuilt adapters choke and dedicated PCI-E NICs work OK (better queues, real dedicated offload etc).
 
Soldato
Joined
29 Dec 2002
Posts
7,249
I, too, struggled with the OP, so thanks for clarifying. If I understood you correctly, a transfer from the NAS (effectively) to any PC is bottlenecked at around 40Mbps. A transfer between PC1 and PC2 is likewise bottlenecked. However a transfer from either PC1 or PC2 to NAS works OK:

NAS -------> PC1 = slow
NAS -------> PC2 = slow
PC1 -------> PC2 = slow
PC1 -------> NAS = fast
PC2 --------> NAS = fast
(Any machine with an Intel NIC) -------> (Any machine with an Intel NIC) = fast

Yes?

It's an offchance, but I saw an issue like this with broken drivers making LRO and TSO break (Large Receive Offload and TCP Segmentation Offload). You can disable those in the driver options under Device Manger (Windows), or with ethtool (*nix):

sudo ethtool -K eth0 tso off
sudo ethtool -K eth0 lro off

(amending eth0 to suit your actual NIC's name) and try again. It worked for me when I encountered it a couple of years ago, and I went from ~40Mbps to 110Mbps until, finally, a driver update resolved it at some point. Quite when, I don't know, as I just reinstalled at some point and it worked OK without the tweaks. It's an outside chance but it's worth a go. It takes seconds to try and it would fit with why inbuilt adapters choke and dedicated PCI-E NICs work OK (better queues, real dedicated offload etc).

You can call multiple flags in the same command, eg: ‘ethtool -K (interface) tso off gso off’ under Ubuntu and I would imagine most other *nix, I didn’t mess with lro when I experienced it, only two and gso. In hindsight splitting them to understand what was specifically broken may have been better. Linus Torvalds got quite vocal about the state that of intel’s broken drivers a while back as they were holding releases up, I assumed they’d been quickly fixed after that, but didn’t track it. Besides my main Ubuntu box that was affected was on 18LTS anyway.
 
Soldato
Joined
18 Aug 2007
Posts
9,710
Location
Liverpool
You can call multiple flags in the same command, eg: ‘ethtool -K (interface) tso off gso off’ under Ubuntu and I would imagine most other *nix, I didn’t mess with lro when I experienced it, only two and gso. In hindsight splitting them to understand what was specifically broken may have been better. Linus Torvalds got quite vocal about the state that of intel’s broken drivers a while back as they were holding releases up, I assumed they’d been quickly fixed after that, but didn’t track it. Besides my main Ubuntu box that was affected was on 18LTS anyway.

Yeah, my intention with separating them was to test each individually (and then together) to see what differences it made. I also experimented with gso (and it's worth OP doing the same) but TRO and LRO were the main offenders for me. As you say, an annoying time all round!
 
Associate
OP
Joined
15 Feb 2008
Posts
1,321
I, too, struggled with the OP, so thanks for clarifying. If I understood you correctly, a transfer from the NAS (effectively) to any PC is bottlenecked at around 40Mbps. A transfer between PC1 and PC2 is likewise bottlenecked. However a transfer from either PC1 or PC2 to NAS works OK:

NAS -------> PC1 = slow
NAS -------> PC2 = slow
PC1 -------> PC2 = slow
PC1 -------> NAS = fast
PC2 --------> NAS = fast
(Any machine with an Intel NIC) -------> (Any machine with an Intel NIC) = fast

Yes?

This is correct and I should have made it easier with a diagram

LRO was already disabled so only disabled TSO which if anything has slightly made things slower (bounces between 30-35MB/s)
 
Back
Top Bottom