4

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?

BASELINE PERFORMANCE WITH MONOPRICE (REALTEK 1853) USB ETHERNET ADAPTER PLUGGED INTO USB 3.0; GET SAME PERFORMANCE WITH BOTH APPLE THUNDERBOLT ETHERNET ADAPTER, AND WIRELESS


PERFORMANCE WITH APPLE USB ETHERNET ADAPTER PLUGGED INTO USB 3.0

nohillside
  • 100,768
theorist
  • 805
  • 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
  • @Allan I currently only have one working computer. – theorist Apr 26 '20 at 19:53
  • It's available for the iPad, but there's a cost. – Allan Apr 26 '20 at 19:55
  • @Allan This question would make a great place to explain how to set up iPerf on a local network. WiFi should be discouraged but might be faster than fast ethernet to not totally ruin the results when testing. I’ll probably make a second answer on the router side. Using ubiquity dream machine to show how it can just report the speeds each machine uses without needing speed test (and it runs speed test so you can know your adapter isn’t getting the internet speeds the router is). I’ll cover duplex in my answer - just won’t be today I post it – bmike Apr 26 '20 at 20:07
  • Good idea @bmike - I'll get cranking on it today sometime. Just gotta play catch up with some other stuff! – Allan Apr 26 '20 at 20:10
  • @Allan No iPad either. Work is supposed to be supplying me a backup Windows machine, but I don't know when that will arrive. – theorist Apr 26 '20 at 20:27
  • Doesn't this just say the apple adapter is "crap"? Do I understand it correctly that ethernet→USB 3.0 (Monoprice [Realtek 1853] USB Ethernet Adapter) run 81 Mbps while Apple USB Ethernet Adapter (plugged directly into a USB 3.0 port on my Mac) runs at 31 Mbps. You have written these in a different style. Is this translation correct? ethernet cable → Monoprice [Realtek 1853] USB Ethernet Adapter →USB 3.0;;; same ethernet cable → USB Ethernet Adapter →same USB 3.0 port. – historystamp Apr 26 '20 at 20:33
  • In performance tests you want to reboot all hardware between tests. I doubt that's the issue here. – historystamp Apr 26 '20 at 20:38
  • @historystamp I don't know; that's what I'm trying to figure out. Maybe I have a defective adapter, or there is some hardware setting I need to change. In fairness to Apple, it only advertises its product as 100BaseT; but that should still be fast enough to give me 100 Mbps. It would be nice to hear from someone who has this same product. As to your other question, both the Monoprice and Apple devices were plugged directly into the computer. [I only made this explicit for the Apple device, since it was the one with the compromised performance.] I've edited my answer to make this clear. – theorist Apr 26 '20 at 20:53
  • @theorist Welcome to the real world. Your seeing the difference between the theoretical max/advertised spec and the real world. I'm not at all surprised by 35 out of a 100. It's what I would expect. This is based on my seat of the pants observations I've read in forums. USB 2.0 is designed for short data transfers. Internet protocol involves 1k to 5k data packets with error checking and acks. I'd be disappointed with 81 out of 1,000. – historystamp Apr 27 '20 at 21:26
  • @theorist I assume this is a home environment. You want to max the numbers you would move to a business environment with $$$ hardware and software. – historystamp Apr 27 '20 at 21:30
  • @historystamp You're pushing a very simplistic dichotomy. There's a vast middle ground between Gigabit Ethernet and the 35 Mbps that I'm getting out of the Apple converter. Just because I'd like to get the 120 Mbps my provider offers (vs. 35 Mbps) via USB doesn't mean I need to move to business-class service. It's as if someone says he'd like better acceleration than he's getting from his Mitsubishi Mirage, and you're telling him "welcome to the real world, you need to move to a Ferrari with $$$...." No, you could get a Subaru WRX, Mazda Miata, etc., etc. Welcome to the real real world! – theorist Apr 28 '20 at 01:17

2 Answers2

1

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.

Allan
  • 101,432
  • 1
    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 01:13
1

I just ran the test at speedtest.net on my 2015 MacBook Air using an Apple USB Ethernet adapter. Here are the results:

2 ms ping
94.29 Mbps download
94.80 Mbps upload

I'm guessing you checked for background downloads or contention from elsewhere in your network. Is the USB Ethernet interface listed first in Network Preferences? Perhaps you have a counterfeit adapter?

Matt
  • 66
  • Adapter was ordered directly from Apple. No background downloads, as evidenced by Activity Montior. USB Ethernet listed 1st in Network Preferences. If by other sources of contention you mean other internet activity, e.g., from web browsers or other apps, IIRC I had everything closed except what I needed to check speed. Then again, if that was an issue, I wouldn't have seen the consistent difference between the Apple USB and other modalities (plus I went back and forth a few timess, and got consistent results). Since I now have ~200 Mbps internet, perhaps I'll rerun my tests. – theorist Apr 20 '22 at 22:29
  • Seems like you've checked everything. Was there anything missing from my answer? You asked for real world numbers; here they are. – Matt Apr 21 '22 at 04:42
  • Nope, you got it. You showed it's capable of 100 Mbps. And I gather that's also its max speed, right? E.g., if you had 200 Mbps internet, you'd still get 100 Mbps with the Apple connector, correct? – theorist Apr 21 '22 at 04:53
  • 1
    That's correct. I get over 900 up and down when I use the Thunderbolt adapter. :-) – Matt Apr 21 '22 at 04:55
  • 1
    Thanks Matt. BTW, if you want to free up that TB port, I'd recommend trying the Monoprice USB adapter. Based on its specs, it should be capable of up to 1000. My internet connection is 230/10, and that's what it's giving me. – theorist Apr 21 '22 at 04:59
  • Thanks, I appreciate the recommendation! Mine is currently daisy-chained through a Thunderbolt-capable ultrawide QHD display. – Matt Apr 21 '22 at 05:05