What dowload speeds is the Apple USB Ethernet Adapter capable of?

What is iPerf3

iPerf3 is a tool for active measurements of the maximum achievable bandwidth on IP networks.

Setting up iPerf3

You need two different nodes (computers) on your network. They can be macOS, Windows, BSD, or Linux; it really doesn't matter. Ideally, you want to connect via Ethernet; WiFi isn't recommended unless of course you're evaluating your WiFi bandwidth.

You can obtain the downloadable binaries from https://iperf.fr/ or install via the following:

  • MacPorts - port install iperf3
  • Homebrew - brew install iperf3

Other Operating Systems

  • FreeBSD - pkg add iperf or via ports cd /usr/local/ports/benchmarks/ && make install clean
  • Ubuntu & Debian Distros: apt-get iperf3
  • RedHat, CentOS, Fedora, etc: yum install iperf. You may need the EPEL repositories (yum install epel-release) There's two components - a server and a client.

    These commands are provided as a convenience; be sure to reference the user documentation for your specific OS regarding software installation.

Once installed on two different computers ideally on the exact same subnet on the same swtich run one instance as a server and the other as a client:

iPerf Server

% iperf3 -s

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

iPerf Client

% iperf3 -c IP <Address/Hostname>

Connecting to host node1, port 5201
[  7] local 192.168.1.33 port 55455 connected to 192.168.1.23 port 5201
[ ID] Interval           Transfer     Bitrate
[  7]   0.00-1.00   sec  65.1 MBytes   546 Mbits/sec                  
[  7]   1.00-2.00   sec  59.6 MBytes   500 Mbits/sec                  
[  7]   2.00-3.00   sec  62.3 MBytes   522 Mbits/sec                  
[  7]   3.00-4.00   sec  61.8 MBytes   519 Mbits/sec                  
[  7]   4.00-5.00   sec  61.5 MBytes   516 Mbits/sec                  
[  7]   5.00-6.00   sec  59.2 MBytes   497 Mbits/sec                  
[  7]   6.00-7.00   sec  60.6 MBytes   509 Mbits/sec                  
[  7]   7.00-8.00   sec  59.7 MBytes   501 Mbits/sec                  
[  7]   8.00-9.00   sec  62.6 MBytes   525 Mbits/sec                  
[  7]   9.00-10.00  sec  64.4 MBytes   540 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  7]   0.00-10.00  sec   617 MBytes   518 Mbits/sec                  sender
[  7]   0.00-10.00  sec   615 MBytes   516 Mbits/sec                  receiver

iperf Done.

The Results

You should see a similar output table on both the server and the client. From what this is telling me is that on a virtualized Gigabit Ethernet adapter, I'm getting about half of my bandwidth ~500Mbits throughput. I'm assuming that's due to overhead of "going up and down" networking stack of the the virtualized adapter.