macOS Performance

Our AnandTech Storage Bench trace-based tests are Windows-only, and running them on a Mac in a Boot Camp configuration wouldn't give us much insight beyond running the same ATSB tests on our usual desktop testbed. However, our suite of synthetic benchmarks uses the cross-platform FIO tool, so these tests could be easily adapted to run under macOS.

Our usual configuration for these tests has the drive under test as a secondary drive, with nothing on the drive other than the data written by the test itself. This is the best way to measure a drive's raw performance capability without any interference and minimal overhead, but that's not usually a very realistic configuration. Without our ATSB tests to give a more real-world picture to counterbalance the idealized synthetic benchmark results, we chose to reconfigure the synthetic tests to use a somewhat more realistic configuration. Instead of running the OS off a separate drive, the drives under test were used as the only storage attached to the system. A clean install of MacOS 10.14 Mojave was used on each drive, and instead of having the tests access the drive as a raw block device, the tests were run against ordinary files residing on the same APFS filesystem as macOS and the testing software.

The amount of data read or written by each test is the same as for our usual Linux-based synthetic benchmark results. However, with the overhead of a copy-on-write filesystem and background traffic from the OS getting in the way, and with an entirely different host operating system, the numbers below are not at all comparable to our previous results on our standard desktop testbed.

These tests were run on two different MacBook Pro systems: a base model 13" Retina MacBook Pro from 2015 with a dual-core Broadwell processor, and a high-end 15" Retina MacBook Pro (Late 2013 model) with a quad-core Haswell processor. The only attempt to tune the machines for performance was changing two sysctls to allow more threads to be used to handle asynchronous IO—necessary for testing higher queue depths, but not needed for real-world low queue depth workloads.

Random Read Performance

Our first test of random read performance uses very short bursts of operations issued one at a time with no queuing. The drives are given enough idle time between bursts to yield an overall duty cycle of 20%, so thermal throttling is impossible. Each burst consists of a total of 32MB of 4kB random reads, from a 16GB test file. The total data read is 1GB.

Burst 4kB Random Read (Queue Depth 1)

Consistent with our usual Linux-based testing, the two drives with Silicon Motion SM2262EN controllers (OWC Aura Pro X2 and HP EX950) offer the best burst random read performance. The WD Black SN750 fares poorly, ending up slower than the more recent Apple OEM drive but outperforming the older PCIe 2.0 Apple OEM drive.

Our sustained random read test adds higher queue depths to the score: queue depths from 1 to 32 are tested, and the average performance across QD1, QD2 and QD4 is reported as the primary score. Each queue depth is tested for one minute or 32GB of data transferred, whichever is shorter. After each queue depth is tested, the drive is given up to one minute to cool off so that the higher queue depths are unlikely to be affected by accumulated heat build-up. The individual read operations are again 4kB, and are taken from a 64GB test file.

Sustained 4kB Random Read

On the longer random read test, the Aura Pro X2 remains one of the fastest SSDs, and the Samsung 970 PRO is essentially tied. The HP EX950's performance was inconsistent between the two laptops.

At sufficiently high queue depths, the HP EX950 and Samsung 970 PRO develop small performance leads over the Aura Pro X2. Additionally, the 13" MacBook Pro is severely bottlenecked by its weaker CPU that is unable to keep the SSDs busy under these conditions.

Random Write Performance

Our test of random write burst performance is structured similarly to the random read burst test, but each burst is only 4MB and the total test length is 128MB. The 4kB random write operations are distributed over a 16GB test file, and the operations are issued one at a time with no queuing.

Burst 4kB Random Write (Queue Depth 1)

The modern NVMe drives all provide similar performance on this burst random write test, while the older Apple OEM drives are at a clear disadvantage but aren't unusably slow. The 15" rMBP has significantly better performance than the 13" with the modern drives, but both machines offer roughly similar performance with the original Apple SSDs.

As with the sustained random read test, our sustained 4kB random write test runs for up to one minute or 32GB per queue depth, covering a 64GB test file and giving the drive up to 1 minute of idle time between queue depths to allow for write caches to be flushed and for the drive to cool down.

Sustained 4kB Random Write

The results for the longer random write test are pretty similar to the burst random write test above. The modern NVMe drives all perform about the same, and the higher CPU power of the 15" machine compared to the 13" makes a bigger difference for these fast drives than it did for the original Apple SSDs.

Random write doesn't improve with higher queue depths under these test conditions. Instead, it is either flat or declining as the OS has to juggle more threads to issue IO, and there may be some locking somewhere in the filesystem and storage stack that's preventing the kind of scalability we see on Linux.

Mixed Random Performance

Our test of mixed random reads and writes covers mixes varying from pure reads to pure writes at 10% increments. Each mix is tested for up to 1 minute or 32GB of data transferred. The test is conducted with a queue depth of 4, and is limited to a 64GB test file. In between each mix, the drive is given idle time of up to one minute so that the overall duty cycle is 50%.

Mixed 4kB Random Read/Write

The Aura Pro X2's performance on the mixed random I/O test is comparable to the other recent TLC drives but a bit slower than the Samsung 970 PRO. The modern NVMe drives are about twice as fast as the Apple originals on the 15" MacBook Pro, but on the more CPU-limited 13", they Aura Pro X2 is only about 50-60% faster.

The recent NVMe SSDs all generally show performance increasing as workload becomes more write-heavy, but the 13" MBP's CPU bottleneck cuts off that growth for most of the second half of the test. The Apple originals show relatively flat performance across most of the test, but the older 512GB drive has a bit of the uptick at the end that we typically expect.

Introduction macOS Sequential IO Performance
Comments Locked

32 Comments

View All Comments

  • danielfranklin - Thursday, June 6, 2019 - link

    Exactly,
    What a load of crap marketing this in devices that do NOT support NVME properly in the firmware.
    I expect more from OWC given the prices and that they are Mac specific.
  • Oxford Guy - Wednesday, June 5, 2019 - link

    QLC is looking abominable here, particularly in the latency tests.
  • nicolaim - Wednesday, June 5, 2019 - link

    The sentence "The OWC Aura Pro X2 declares support all the usual power management features expected on a modern M.2 NVMe SSD, with two idle states that balance power savings against transition latency." is missing the word "for" and has an extra space.
  • jabber - Thursday, June 6, 2019 - link

    Apple Legal Team ban hammer in 5...4...3...2...
  • Samus - Thursday, June 6, 2019 - link

    Can they? I mean, OWC has been making these SSD's for YEARS without a threat from Apple. Clearly Apple doesn't believe they have a case.

    If anything this works in Apples favor because it is an easy way for them to void peoples warranties or refuse to service their PC's, much like they refuse to service iPhones with replacement 3rd party screens and batteries.
  • The_Assimilator - Friday, June 7, 2019 - link

    Not to mention OWC is a large payer of the Apple Tax.
  • playtech1 - Thursday, June 6, 2019 - link

    I recently upgraded the SSDs in a 13 inch MBP and a 15 inch MBP, both from 2015. I upgraded the 13 inch MBP with a 1TB Apple SSD from eBay and the 15 inch MBP with a 2TB Intel 760p plus a Sintech short NVMe adapter.

    Both new SSDs work at roughly the same speed as the 512GB SSDs they replaced. However, I am considering ditching the 2TB SSD from the 15 inch MBP as it has reduced the battery life by several hours and increased the drain on standby. The Apple SSD in the 13 inch has had no negative side effects. I might hope that an OS update will bring with it better driver support for NVMe low power states, but it seems optimistic given that these models were never designed with NVMe in mind and it's something of a miracle that Apple ever enabled their use.
  • danzeb - Thursday, June 6, 2019 - link

    I been looking into swapping out the ssd on my 13 inch 2015 MBP for a larger capacity one. Going by what I've read on the forums it seems increased battery drain is an unavoidable issue with NVMe drives when installed in our Macs. Would a third party AHCI drive have less power issues than a NVMe?
  • maxtech567 - Thursday, June 6, 2019 - link

    This review disregarded many crucial issues with OWC's Pro X2.

    Pro X2's issues:
    1. You only get less 1500MB/s in most models (33 out of 38 supported models). Exceptions are 2015 MacBook Pro 15 and 4 iMac models, which are the lucky ones with PCIe 3.0 x4. They can take advantage of the full speed. Most other users are stuck with PCIe 2.0 x4, which is 1500MB/s.

    I have a MacBook Air 2013. With the newly bought Pro X2 256GB, I'm only getting 1000MB/s write and 1500MB/s read. This is worse than most third-party solutions like Feather SSD from Fledging.

    2. This solution has all flaws in an NVMe SSD (cannot wake up from hibernation, older boot ROM recognition, etc)
    3. SM2262EN is one of the hottest controllers out there and significantly decreases battery life compare to SM2263XT or Phison E12
    4. Even the destroyer test shows worse performance across the board in real life use cases comparing this SSD to Phison E12

    Besides, the fitting on the adapter is overstated. There are plenty of short or low high ones that work perfectly without poking through the back.
  • burgerkingjr - Thursday, June 6, 2019 - link

    Any chance of a comparison with the Transcend JetDrive 850 or 820?

    https://www.transcend-info.com/Products/No-956

Log in

Don't have an account? Sign up now