Cloud

Storage array capacity: Performance vs. cost

Calculating IOPS is a great way to start a storage analysis, but cost also plays a major factor. Scott Lowe discusses the relationship between IOPS and cost.

In a previous column, I discussed ways to measure overall storage array performance as a function of IOPS (a commonly used metric) and introduced ways that RAID and disk choice can affect the IOPS value. In this post, I'll translate these tidbits into actionable pieces of information that might help when you research a storage array purchase or expansion.

One common way to express cost of storage is to produce a cost per gigabyte or terabyte figure. For example, if you purchased a SAN with 13 TB of RAW capacity for $39,000, you paid $3,000 per TB. For the cost conscious, that's not a bad metric, but performance shouldn't be ignored, lest a low price result in an unacceptable solution.

For many organizations, storage is the lifeblood, and cost is far from the driving factor; instead, raw performance is job one, and the storage array has to deliver the goods. Even so, cost should still be a factor. I doubt many companies are willing to simply throw money at a solution without at least some semblance of due diligence.

At first glance, choosing a speedy solution looks easy -- after all, disks are rated for RPMs, with 7,200, 10K, and 15K RPM speeds being the most common for enterprise storage systems. There are also solid state disks to consider. SSDs provide performance that is orders of magnitude better than whirling disks of data but that performance comes at a price.

I'll build on my previous post and focus on random workloads rather than sequential workloads. We'll look at the cost per IOPS for each of the following:

  • A 7200 RPM SATA II disk. An EMC AX-SS07-010 (for the EMC AX4). This is a 1 TB disk. Today's price for this disk is $438.57. These prices will change over time.
  • A 10K RPM SAS disk. An EMC AX-SS10-400. A 10K RPM 400 GB SAS disk from EMC. Today's price is $673.30 (from an EMC February 2010 price list).
  • A 15K RPM SAS disk. An EMC AX-SS15-450. A 15K RPM 450 GB SAS disk from EMC. Today's price is $717.48 (from an EMC February 2010 price list).
  • A solid state disk. AN EMC CX-FC04-400. An EMC 400GB solid state disk (specs: 0.020 ms read, 0.020 ms write, no rotational latency). Price: $23,497.40 from this site. We'll use a value of 6,000 IOPS for this solid state disk.

As much as possible, I picked disks that you'd put into a real-world chassis rather than just grab random disks and compare them. I decided to use 1 TB SATA disks because the cost for lower capacity versions was within dollars of the 1 TB cost. Also, I'll round prices to the nearest ten dollars.

In my previous column, I provided a chart of average/typical IOPS values. For the sake of argument, we'll use the middle column of values from that article for IOPS per disk type, yielding:

  • 7.2K RPM disk: 75
  • 10K RPM disk: 125
  • 15K RPM disk: 175
  • Solid State Disk: 6,000

Let's start by creating a cost/TB matrix so we can get a look at what this storage is costing us in terms of raw TB. I'll assume that we'll fill up a 12 bay storage array with disks, so we'll compare one chassis full of 7200RPM SATA disks to another chassis full of 15K SAS disks and so on.

I'm not going to get into the chassis cost itself since that will probably be static unless you opt for SSDs, in which case some lower end chassis won't be available to you.

Here's where we land with the costs I've described so far:

Frankly, I was surprised to see the 450 GB 15K RPM disk solution cost less on a per TB basis than the 10K RPM solution. The disk is a little bigger, but it looks like the price differential is actually in favor of getting the slightly larger 15K RPM disk when you populate an entire chassis. This is good news!

Now let's look at cost per IOPS. What will that look like when we look at the total IOPS across a solution?  Here's a chart designed to be relatively simplistic in order to show the progression from SATA up to SSD.

From an IOPS/dollar perspective, the typical 7200 RPM SATA disk provides just 0.17 IOPS for every dollar spent ($5.87/IOPS), while an SSD provides 0.255 IOPS per dollar spent ($3.92/IOPS) or about a 50% increase. The SSD solution is much more expensive from a capacity perspective -- almost 134 times as expensive on a per TB basis.

These figures do not take RAID into account, so let's do another example. Let's assume that our service requires 2,500 IOPS of throughput and that we'll be using various RAID levels and different levels of Read/Write needs. Here is the formula used to determine total IOPS need based on a RAID level and read/write workload. (You can find full RAID IO penalty information in my previous column.)

(Total Workload IOPS * Percentage of workload that is read operations) + (Total Workload IOPS * Percentage of workload that is write operations * RAID IO Penalty

The table below shows you the total maximum IOPS need for six workloads. In all cases, the application has the same IOPS need, but there are different read/write mixes and RAID levels.

So, how many disks of each type does that work out to? The table below gives you a raw estimate of how many disks you need simply to meet the IOPS requirements of the workload. This particular table does not take RAID overhead into account (i.e., you need minimum numbers of disks for particular RAID levels, but the SSD column does not have enough disks, so the total number of disks you see is a very minimum number and would need to be increased just to meet minimum RAID requirements).

Let's bring this full circle and see how much a total solution would cost for each of the scenarios.

Summary

These scenarios show only the raw storage figures and don't include all of the other necessary components that make up a storage architecture, including the chassis, cables, switches, HBAs, etc.; the scenarios do show you that cheaper disks aren't necessarily cheaper when it comes to IOPS need. As you saw in the last table, for scenario 1, you'd spend almost $20,000 on enough 7200RPM disks to meet the same IOPS need satisfied by under $14,000 worth of 15K RPM disks. In fact, if IOPS is the main driver (as opposed to raw capacity), that 15K RPM solution will end up being even more affordable than the 7200RPM solution since you won't need as many chassis to house fewer 15K RPM disks.

SSD technology is still extremely expensive on a per-TB basis but less expensive on an IOPS/$ basis. Over time, SSD prices will come down and begin to look better to more organizations; but for now, pricing is simply out of reach unless you need extremely massive IOPS with relatively little capacity need.

Want to keep up with Scott Lowe's posts on TechRepublic?

About

Since 1994, Scott Lowe has been providing technology solutions to a variety of organizations. After spending 10 years in multiple CIO roles, Scott is now an independent consultant, blogger, author, owner of The 1610 Group, and a Senior IT Executive w...

7 comments
vigremrajesh
vigremrajesh

when can we expect the slash rates of SSD...???

brian
brian

Curious why the price of the EMC 1TB Sata disk is so high, considering you could have three WD RE3 disks for the same cost. Surely the increased spindle count could be made to outperform EMC in either reliability or speed, if not both. i.e. For every single EMC SATA disk, for the same or similar cost you could have two mirrored WD Raid Edition disks plus a cold or hot spare. Does a single EMC disk beat that?

brianalls
brianalls

The SSDs are really expensive on the surface, and I haven't been able to justify purchasing them but there are some cases where they might work out. Obviously people are buying them, just not me! If you have an application that is slow on a midrange system, where hundreds of users are waiting to do their jobs, or transaction are being slowed down and effecting the business, you should be able to get buy-in for such a purchase. It's probably going to be cheaper to purchase a few SSD than to go out and get a V-Max or USPs. Also if you have limited space in the datacenter, or power concerns, or HVAC limitations, SSDs might work out to be better in the long run.

info
info

Very informative post, but I'm curious about the performance multipliers for RAID. Based on this and your previous article, reading is always 1-to-1 regardless of RAID configuration. I would think that in a configuration where data is mirrored we would gain some read performance (i.e. a multiplier like 0.8 or such) since the RAID can be reading the blocks from multiple drives simultaneously.

Dirt Burner
Dirt Burner

While reading the article, I was thinking the same thing. I just put together a 2U rack file server with 8 RE3 HDs (@$160 each) in a RAID 10. That nets 4TB of storage. We also purchased 4 additional drives as spares-on-the-shelf. That entire server was built for about the same cost of the EMC hard drives alone! (dual quad xeons, 24GB ram, and a Raid controller card) Personally, I don't trust any drive that spins round and round, and there's no way one spinning drive is worth 3 times the price of another spinning drive.

Scott Lowe
Scott Lowe

You raise a good point. Improved read performance (that 0.8 factor, for example) would have the effect of reducing the total IOPS need, particularly for large read workloads. For large write workloads (say, the 70% examples), the read benefit would be mostly negligible, but still there. I'll have to kick that one around a bit! Scott

cbradshaw
cbradshaw

The read benefit is accounted for in the calculation since it uses the total IOPS based on all of the spindles in the config.

Editor's Picks