Throttling Up Performance: More Drives or Faster Drives?

“Disk drives are the key component driving any storage system — a system can perform only as fast as its disk drives.”

While true, this kind of thinking can lead to the wrong conclusion… especially when the issue is one of the industry’s most debated: 15K RPM vs. 7200 RPM drives (also known as FC and SATA drives, respectively).

Engineering and IT storage architects tend to have a common line of reasoning on this topic, namely:

1. 15K RPM drives give more performance than 7200RPM drives

2. Some data needs high performance, some doesn’t

3. Let’s find a way to put data requiring high performance on 15K RPM drives and the rest on 7200RPM drives

About now, you may feel like countering with: “You’re missing the point. SATA drive reliability is the real issue.” True, reliability needs to be addressed; we’ll cover it in a future post. Today, let’s focus on drive performance.

The traditional thinking about disk drives and their speed limits has led the storage industry to create a myriad of solutions, paradigms, and products. Underlying them all is the truth that prioritizing applications and their data is a daunting task. For instance, to classify today’s email as critical high performance data? Certainly. But what about last month’s email? Archival storage is enough. So what do we wind up doing? Adding complexity to the email application by differentiating its storage just to accommodate the performance issue?

Here are a few paradigms that storage teams apply trying to do just that:

  • Maintain different storage system tiers, with different tiers for different applications
  • Maintain different disk types within the same storage systems, assigning different volumes to different tiers
  • Automatically migrate storage blocks between different disk types within the same system
  • Migrate data at the application level from volume to volume, based on its importance

But these storage acrobatics beg the question: Is there really an issue about getting high performance out of 7200RPM drives?

Let’s look at the pure technological performance differences between 15K RPM drives and 7200RPM drives. There are two:

  1. 7200RPM drives can perform about 100 transactions per second, while 15K RPM drives can perform about 200 transactions per second.
  2. Latency of a 15K RPM drive is about half the latency of a 7200RPM drive.

Now let’s consider how this translates into the real life needs of a storage system — not an individual disk — starting with transactions per second. Take a specific storage system; say, one with 100 disk drives. A 15K RPM-based system can obviously perform twice the number of transactions as a 7200RPM system. But what if we use 200 7200RPM disks instead? The answer: We get the same transaction count and about six times the capacity. This, because any 7200RPM drive has about three times more capacity than a 15K RPM drive.

Is this a good approach?

  • Capital expense-wise: 7200RPM drives are about one-third the price of a 15K RPM drive. So these two systems have roughly the same transaction count for the same cost. (This, of course, relates to the storage vendor’s cost; a storage vendor’s price might be a completely different story. But let’s assume the margin is fixed.)
  • Capacity-wise: We get six times more capacity.
  • Operations expense-wise: We need about double the power and floor space but get a whopping six times more capacity, so are three times more efficient.

So, at a third of the capital expenditure, we get the same transaction count, six times more capacity, and are three times more efficient in terms of operating expenses for that capacity.

Can it really be so simple? Yes and no. No, because in most storage architectures, just adding more spindles will not simply double performance. Many other bottlenecks exist, such as cache and controller performance. In addition, with most storage architectures, transaction count is not simply the number of spindles times the average transactions per spindle. In most real-life cases, 20% of the spindles are fully utilized, while 80% are practically idle.

What about latency? Many storage performance measurements are focused on latency. Due to their rotational speed, 7200RPM disks have approximately double the latency of 15K RPM disks. But what are the end-user implications of latency? Let’s consider this realistically:

  • End-users couldn’t care less if their request is handled in 1 or 20 milliseconds.
  • The latency problem really lies in the application/OS queue. If an application is configured to allow only 32 unacknowledged requests, and the storage response time is 5 milliseconds, then throughput will be limited to 6400 transactions/ second (32 times 1/0.005). Given a queue limit, storage with half the response time doubles the performance.
  • Write transactions are not a problem, since write transactions are written to the cache and acknowledged immediately.

So when is there a problem? When applications have an intrinsic limit on the queue size of read requests. Though in some cases, to ensure consistency, there is a limit on the queue size for writes (database transaction logs are a typical case), in most other cases, reconfiguring the queue size is not a problem.

Here are our final conclusions:

  1. 7200RPM drives are much more cost efficient, energy saving, and dense.
  2. There is no real problem in satisfying overall business needs with 7200RPM drives, assuming the proper architecture is in place.
  3. We need a storage architecture that will enable us to really exploit all drives equally, without manual tuning. We can’t afford having 80% of our transactions handled by only 20% of our disk drives.