Sign in with
Sign up | Sign in

Consistency in Performance Part II

Enterprise SSDs: Are You Asking Too Much From Client Drives?
By
Brought to you by What's this

When you look at an SSD’s spec sheet, the performance section will inevitably list sequential reads and write MB/s rate of up to a certain amount. With luck, you’ll also find random 4K reads and writes indicating a maximum number of IOPS. The trouble with the sequential spec is that this refers to a 100% sequential workload, which is essentially ideal for SSDs and almost never happens in real life. A 100% random workload (equally unlikely in the real world) could be one-tenth of the sequential test’s throughput, depending on several factors. Similarly, 4K random reads and writes are fine, but 4K data chunks map perfectly to 4K SSD pages. What about workloads with file sizes other than 4K? And chances are high that those numbers were obtained when the drive was unpartitioned, a condition not likely to exist when the drive is in actual use and coping with overhead factors.

The point is that different drives are designed for different applications and environments. Client drives are built for the occasional, bursty, low-frequency duty cycle loads typical of home and office systems. The needs of enterprise environments are often radically different and more demanding. Whereas a client drive may have to perform at peak levels for seconds, enterprise drives may have to do so for hours or even days at a stretch.

Unfortunately, most benchmarking evaluations don’t take consistency of performance over time into account. Applications such as PCMark and Iometer typically examine performance for only a few minutes. A true enterprise-class benchmark, such as the SPC-1C test from the Storage Performance Council (see storageperformancecouncil.org) will not only slam storage targets with a carefully calculated mix of random and sequential reads and writes but also sustain cycling that load at 100% for four or even eight hours. Unbeknownst to many buyers, the behavior of client drives (and even some less desirable enterprise drives) will often veer into unusable ranges under such testing.

Data centers cannot meet their service level agreements (SLAs) when storage performance is inconsistent and undependable. Until a specific client drive has been vetted and analyzed using metrics such as those used by the SPC, enterprises would be wise not to commit their storage services to this class of device, despite the upfront cost savings. Even more advisable than an SPC report is from-the-trenches feedback of how a drive performs with a data center’s unique workload. This will require the organization to understand its specific mix of reads and writes, how much of its data is random or sequential, how many users are being served simultaneously by the storage subsystem, the size of the data sets being accessed by those users, and the daily duty cycle for the drive. Without this information integrated into testing, the best benchmarking results an organization can hope for will be a rough approximation of real performance.

This is why spec sheet IOPS numbers should be taken with a grain of salt. A top-end client drive might boast 30,000 IOPS on its spec sheet and have little more to say on the subject. But that client drive is likely designed to run for eight hours per day five days per week. An enterprise drive will run 24x7 for years. So when that client drive runs for 300 hours straight, will it still be reaching 30,000 IOPS? SPC data would indicate that it will not. Moreover, given the markedly heavier workloads, Seagate estimates that a client drive will fail up to three times sooner than an enterprise drive. Even if the client drive has moments in which it can perform 50% faster, is there really a commensurate value if the drive fails 3x sooner? The odds of answering yes seem far-fetched.