Network slow between 2 fast Machines

I have a M1 Mac Mini that I am trying to set up as a file server.

I have a M1 Mac Book Pro that I used to mount the M1 Mini. Both are on the same ethernet and are hardwired to a Linksys 1Gb Ethernet Hub. The M1 MBP is connected to a OWC Hub and then to QEEG hub (Not sure exact brand as I put velco over the product into) that has an Ethernet port.

I am trying to copy 291 Items about 48GB from one machine to another. It says that it is going to take about a day. To add insult to injury the files are stored on a fast SSD on the server.

Where do I start looking?

I assume your Internet is much faster than that, so it’s not a problem with the Ethernet passing through the hubs. Still, you might want to try plugging the Ethernet directly into the laptop with an Ethernet-to-USB adapter. You said you’re mounting the drive; how is the transfer speed if one machine accesses the other machine’s public folder on the network?

Also, have you tested smaller files? A 100MB file would be a good benchmark for testing and might reveal some kind of problem limited to larger transfers.

1 Like

If I suspect the network, the first thing that I do is download and build (so you need Apple’s dev tools installed) a small command line C++ program called iperf. It acts as both a client and server (you tell it to run as a server on one computer and use it as a client on the other). I use it in UDP mode and blast traffic through the network from the client to the server at a rate of about half of what I think the network should be able to handle. If I don’t get any loss then I bump up the speed until I find out whether the network between the two computers can handle a reasonable amount of throughput.

I just checked the website and it looks as if there are precompiled binaries: https://iperf.fr/https://iperf.fr/

I just downloaded the source and built it in under 2 min:

In the directory where you put the downloaded source archive:

tar zxf iperf-3.1.3-source.tar.gz tar zxf iperf-3.1.3-source.tar.gz
cd iperf-3.1.3 cd iperf-3.1.3
./configure
make
make install

… and that will put the binary in /usr/local/bin

I find it to be a very useful utility to tell me what a netowrk can really handle.

1 Like

Good tip!
Just noting it’s available via homebrew too, if you don’t want to compile, etc.

2 Likes

I should have thought to check! :laughing:

1 Like