Friday, October 28, 2011

Storage MBps Performance Concepts

We recently had a reader post a question about the other aspect of storage performance – MBps. In most cases my clients are concerned with IOPS more so than transfer rate so it doesn’t come up that often. When it does it normally gets back to economics, applications such as streaming video, audio or even backups tend to be sequential and require a lot of capacity. As with IOPS the higher RPM drives tend to outperform the lower RPM drives but the difference in not nearly as substantial as it is with IOPS.

Here are some data transfer performance numbers of a few modern disk drives. I’m using Seagate drives as a reference point simply because their website is user friendly. Note that this information is not listed directly on the website but it can be found in the product manual that you can download once you click on the specifications tab. Be aware that each manual includes the internal data rate as well as the sustained data rate. The internal data rate is often called the burst rate and represents the rate to / from the buffer cache on the drive. The sustained rate represents the actual transfer rates from the drive media itself. The sustained transfer rate is the number you should be focusing on.

Seagate specifies the internal data rate numbers on their 15K and 10K drives in Gbps while their 7200RPM drives are listed in MBps. I’ve listed them all in Megabytes per second to make it easier to understand.

Cheetah 15K.7 SAS 6-Gb/s 600-GB Hard Drive Model # ST3600057SS

  • Internal data rate (Burst Rate) 190 -303MB/s
  • Sustained Transfer Rate 122 – 204 MB/s
  • Areal Density 225 Gbits/inch2

Cheetah NS.2 SAS 6-GB/s 600-GB Hard Drive Model # ST3600002SS (10K RPM)

  • Internal data rate (Burst Rate) 129.28 – 235.52MB/s
  • Sustained Transfer Rate 82 – 150 MB/s
  • Areal Density 225 Gbits/inch2 

Seagate® Constellation® ES.2 SAS 6Gb/s 3-TB Hard Drive Model # ST33000650SS (7200 RPM)

  • Internal data rate (Burst Rate) 113 to 239 MB/s
  • Sustained Transfer Rate Sustained Transfer Rate 82 – 150 MB/s
  • Areal density 444Gb/in2 

A couple of things to note:

  1. The 15K and 10K drives listed above are identical with the exception of RPMs. The RPMs on the 15K drive make it outperform the 10K drive. This is as expected. 
  2. What may be surprising is that the sustained transfer rates of the 10K drive and the 7200 RPM drive are identical. How can that be? The answer is that the 7200 RPM in this example has a higher recording density, or more correctly, areal density. Areal density describes how many tracks are on a platter and how many sectors are on each track. The number of tracks isn’t relevant to performance but the number of sectors per tracks is. Since the data is more tightly packed on the 7200 RPM drive it reads more sectors, per rotation than the 10K drive and therefore evens out the total transfer rates. By contrast the 15K drive operates at over twice the speed of the 7200 RPM drive and is able to maintain its performance advantage even with a smaller areal density.
  3. The third element to consider is which tracks are being accessed during the IO. Outer tracks provide the highest performance and performance declines as you move towards the center of the drive.
  4. The outer tracks contain more sectors than the innermost tracks. This concept is referred to zone bit recording, where the drive is divided into zones and each zone has X number of tracks with Y number of sectors per track. The results it that in a single rotation you can read more data from an outer track. To read the equivalent amount of data from the center of the drive would require accessing multiple tracks and you would experience the performance penalty associated with the extra read / write head positioning. 
This is why the sustained transfer rates are always provided in a range, because it depends on which tracks are involved in the IO.

So that’s the logic behind it, as for the math, you would need to look at the RPM of the drive and the sectors per track, which as we mentioned would vary depending on the zone. Here is an example using the Seagate 15K.7 drive listed above.

Keep in mind that it is not always easy to find documentation that will provide the zoning information that will allow you to do this exercise. From a practical standpoint I deploy storage for a living and I’ve never had the occasion to calculate the MBps for a drive since the manufacturer provides this number as long as you know where to look, meaning the sustained transfer rate rather than the internal transfer rate. That being said I personally found this to be a very interesting exercise. When I first started writing these performance entries I envisioned a few simple posts that would cover the most common scenarios and questions we were asked. As more questions came in there always seemed to be another area to explore. As an example, from a practical standpoint I work with arrays not individual disk drives and I know that most storage arrays do not provide the type of MBps performance you would expect if you simply added up the capabilities of each drive in the array. This is a given and frankly I’ve never spent much time trying to determine why this is. I know some things that impact it and I have some suspicions but I’ve never satisfied the question in my mind. As organizations begin to shift from tape to disk based backups the MBps capabilities of an array will become more important. I guess I need to look into that question as well.


No comments:

Post a Comment