Saturday, July 18, 2015

A Spectrum of Mass Storage Performance

Every time I get a new computer or external drive, I run disk performance tests.  Whether the results elate or depress me, I forget the details within a week.  (Well, at least until I got my first SSD, which I don't think I'll ever forget.)

I just installed a new Samsung 850 Evo SSD (mSATA) in my desktop rig, and I decided to do things differently this time.  I not only ran performance tests on the new drive, but also on various machines and drives I've had for some time.  Having learned a few things along the way, I've decided to publish the results.  That will compensate for my dodgy memory and maybe help someone out who wants to know something about performance.

The tests were run using iometer 1.1.0.  I only included my three Windows machines because I use them most often.  If I run any tests on my MacBook Air or Chromebook in the future, I will publish them, too.

The performance of each drive was measured with four tests: 4k random read, 4k random write, 256k sequential read, 256k sequential write.  All tests were run with a queue depth of 32.

The three machines on which I ran tests are summarized in the following table.

Table 1: Machines Tested
Computer NameCPUChipsetOS
Dell Inspiron 660Core i5-3340B75 Express (Intel 7 Series/C216)Windows 8.1 x64
Acer Aspire 4830TGCore i5-2430MHM65 Express (Intel 6 Series/C200)Windows 7 x64
HP Stream 13Celeron N2840Integrated (Pentium N and J series)Windows 8.1 x64

Before you head elsewhere on the Internet because these machines range from pedestrian to lame, understand that drive performance is largely independent of the processor and increasingly of the chipset.

The following table states the test results.

Table 2: Test Results
MachineDrive4k random read (IOPS)4k random write (IOPS)256k sequential read (MBPS)256k sequential write (MBPS)
Dell 660Seagate Barracuda 1 TB SATA III (boot)374.45311.18127.95127.7
Dell 660MyBook 3.0 1 TB USB172.1295.4172.4572.55
Dell 660SanDisk Extreme USB 64 GB26871372134.79211.71
Dell 660WD Caviar 2500JS 250 GB SATA II in Cable Matters UAS dock84.07188.3815.3930.31
Dell 660Samsung 850 Evo mSATA 500 GB via Crucial USB adapter42097622218.16235.58
Dell 660Samsung 850 Evo mSATA 500 GB in Cable Matters UAS dock3362135783450.55438.11
Dell 660Samsung 850 Evo mSATA 500 GB (boot)9748286242504.77505.92
Dell 660Seagate Barracuda 1 TB SATA III in Cable Matters UAS dock136.2252.81130.81130.59
Dell 660Seagate Barracuda 1 TB SATA III376.550.85130.8130.33
Acer 4830TGCrucial M500 480 GB mSATA (boot)8346359315304.69411.75
Acer 4830TGSanDisk Extreme USB 64 GB2020862132.06107.44
HP Stream 13Samsung MBG4GC 32 GB eMMC (boot)6129120092.0440.63
HP Stream 13SanDisk Extreme USB 64 GB25291372132.99189.66

OK, that's a lot of data to ingest. Some graphs might help, but providing some analysis is better still.

SSD is fast.  Even using a slower physical interface (SATA instead of PCIe) and a slower software interface (AHCI instead of NVMe) than the fastest available, SSD provides almost 30 times the IOPS of my fastest mechanical drive with almost 4 times the throughput.  The throughput is nice when I move large video files around, but the IOPS substantially improve my moment-to-moment computer use as a programmer.

Especially when using SSD, the hardware used to bridge to USB matters.  There are two tests of the Samsung SSD attached to the Dell 660 via USB.  One uses an adapter I got from Crucial when I installed an SSD in the Acer, the other a Cable Matters dock I bought to read 3.5" drives I have from older machines.  The dock uses an ASM1053E chip, which supports the UAS protocol.  It gets double the throughput and 3-4 times the IOPS compared to the (older) Crucial adapter.  I don't know how much of that difference is UAS as opposed to better USB or SATA throughput within the chip, but keep in mind when you buy a dock, enclosure or adapter cable that the chip makes a difference.

USB storage is faster on Windows 8.1 than Windows 7.  The SanDisk thumb drive is the only disk I tested on all three machines.  The performance on the two Windows 8.1 machines is impressively similar, considering the difference in compute power between the two.  Meanwhile, the Windows 7 machine lags on all tests except read throughput.  Although I attribute the difference to the OS, I will have to admit that the Windows 7 machine is the oldest, running a Sandy Bridge processor and corresponding chipset.  There is the possibility that the silicon in that machine is inferior.

For mechanical disks, fragmentation matters.  There are three tests of the Seagate Barracuda in the Dell 660.  The test results for that disk as the boot disk are different from the results for that disk attached via USB and attached via SATA but not the boot drive.  Between that first test and the other two, I defragmented the drive.  That increased the throughput for both of the later tests.  Strangely, it also killed random write performance.

Despite poor throughput, eMMC drives provide a good user experience.  OK, the tests alone don't establish this, at least the user experience part.  The throughput is bad.  Not as bad as the old WD Caviar I connected via USB, but the worst thing I tested otherwise.  However, in a machine running Windows 8.1 in just 2 GB of RAM (and a Bay Trail Celeron CPU), the user experience is surprisingly good.  I attribute it to the IOPS.  In 2 GB of RAM, Windows is going to page.  A lot.  The extra IOPS reduce the perceived lag, especially compared to other budget notebooks you can find at Best Buy or Staples running slow mechanical drives.

No comments:

Post a Comment