Dramatic headline isn’t it? Sure it’s probably clickbait but it’s the truth none the less. I’m talking about the application Activity Monitor.
Years ago I got my hands on a switch that supported LAG (Link Aggregate), the ability to merge two ethernet ports together and get a considerable bandwidth boost. Not all LAG/LACP are the same and implementation standards even vary between manufacturers so some might use LAG as failover, others to get more bandwidth. My goal was of course, more bandwidth.
And sure enough, as soon as I set it up, Activity monitor showed double the speed on LAN data transfers to and from the local server, which was also set up on a LAG. For years I have worked under the assumption that LAG works and doubles my bandwidth. Many have told me it doesn’t work and I had the numbers and screenshots to prove them wrong.
From my switch manual, for example:
Every Mac on my network is set up with a LAG and according to Activity Monitor, it has been working as it should. File transfers *felt* faster too but maybe that was all a trick of the mind.
So how did I end up at the conclusion Activity Monitor has been lying to me all along? I started digging into this while I was speed testing my new Xserve RAID over the LAN, speeds were disappointing.
Many tests and a week later, I did a few simple tests to show you what’s going on. The test is simple; use a disk speed test utility on a network share and capture the utility and activity monitor side by side. Do this for single port ethernet as well as a LAG setup. Utilities I used were:
All these utilities tested within a few MB/sec from eachother so the screenshots will only show AJA System Test Lite as it fit better on my screen.
First up, my 2009 17″ MacBook Pro with SSD (single ethernet port).
As you can see, Activity Monitor is pretty close to the speeds AJA reports.
Moving on to my 2009 Mac Pro with 4x1TB RAID0 (single ethernet port).
Here, Activity Monitor oversold it a little but close enough. Then I put the Mac Pro on a LAG and tested again (dual ethernet ports).
And here is why I believed LAG/LACP was working for the longest time; Activity Monitor doubles the numbers! It also adds a few MB/sec on top of that for whatever reason as it did before in single ethernet port tests. The actual data transfers are not faster at all. To confirm I ran the same tests on my 2012 Mac Pro which has Mojave and SSD’s installed (single ethernet port).
Again, Activity monitor adds a dozen MB/sec on top but results are close to actual speed. Now I set up a LAG and ran the tests again (dual ethernet ports).
And the fake news returns.
I tested this on G5, Mac Pro and Mac mini (1 ethernet and 1 thunderbolt to ethernet adapter for the LAG). The OS versions I tested were 10.4.11 – 10.14.2. Activity Monitor pulls the same stunt every time.
I try not to curse on my blog but, what the fuck Apple??!
People spend money on switches, extra cable etc. to set up LAG and it turns out not to work at all? Can Mac OS X / macOS even properly support LAG? Of course one could say I should have done this test a decade ago when I first started using LAG, and you’d be right. I trusted Apple not to screw me over and while that was an acceptable mindset in 2008, I have of course come to my senses on that so should have done these tests later on. I’m both glad I did these tests now and found out the truth, as well as sad that LAG turns out to be a complete waste of time on macOS.
Oh and the same goes for the reported speeds in the “Disk” tab of Activity Monitor, it shows you double the actual read/write speeds. At least while a LAG is active, I have not tested the disk speeds without a LAG active.
If anyone out there reading this can shed some light on the state of LAG/LACP and macOS or maybe test the same switch on both Mac and PC to see if Windows can pull it off, I’d love to hear about it.
A big thank you to my Patreon supporters for making this and future content possible!
- Michael Stanhope
- Greg Thompson
- Greg Hrutkay of Hrutkay Mods