I have a 2014 MBP running 10.13.6.

The first two pics show my baseline ethernet performance, with the Speedtest desktop app, and with Fast.com, respectively. I get this same performance with wireless, ethernet→thunderbolt (Apple Thunderbolt Ethernet Adapter), and ethernet→USB (Monoprice [Realtek 1853] USB Ethernet Adapter, advertised as USB 3.0, 10/100/1000BASE-T).

The next pair show what I get with ethernet→USB with the Apple USB Ethernet Adapter (advertised as USB 2.0, 10/100BASE-T).

Both the Monoprice and Apple USB Ethernet adapters were plugged directly into the USB 3.0 port on my Mac.

Summary, and other info.:

enter image description here

My question: It seems that the Apple USB Ethernet adapter should have a ceiling of either 100 Mbps (100BASE-TX) or 480 Mbps. But I'm only getting low-30's Mbps download speeds with the Apple device. What should be its actual peformance?



  • Thanks so much for the edit. Any chance you can see the duplex of the Apple adapter - feels like networking / bufffering is more pronounced there if you can repeat those speed tests. I love fast.com and find it very useful for this. – bmike Apr 26 '20 at 19:24
  • @bmike Sorry, not sure what you mean by "see the duplex". Do you mean what's listed under Network->Advanced->Hardware->Duplex for the Apple adapter? In that case it's "Duplex: full-duplex, flow-control". By contrast, for the Monoprice, it's "Duplex: full duplex". These are both grayed-out, so I can't change them. If you tell me what configuration settings you'd like me to apply in Fast.com, I'd be happy to do that. – theorist Apr 26 '20 at 19:33
  • 1
    Good question, but I'm not a fan of using external sites for evaluating network adapter performance as there's too many uncontrollable variables. Take a look at iPerf3 to test out the adapters and see if the issue manifests in an environment over which you have control. – Allan Apr 26 '20 at 19:43
  • @Allan Just installed iPerf3. There are a lot of options. What syntax do I use to test the adapters? – theorist Apr 26 '20 at 19:50
  • Use the example in the linked answer. While that one is setup to go across a VPN, the premise is the same. Just put iPerf on one computer on your home network (windows, linux, whatever) and iPerf on your Mac. Then measure the bandwidth. – Allan Apr 26 '20 at 19:52

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 port 55455 connected to 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.

  • Nice to know, and I gave you an upvote for the effort but, of course, it doesn't answer my basic question, which is pretty simple: What's is this adapter's real-world ceiling? It would be helpful to hear from someone who is using this adapter with >100 Mbps ethernet and a USB 3+ Mac. If they're able to get, say, 100 Mbps, that tells me there's a problem with my adapter and/or configuration, and I can explore further. – theorist Apr 29 '20 at 1:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .