Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1018062.1
Update Date:2010-04-18
Keywords:

Solution Type  Technical Instruction Sure

Solution  1018062.1 :   Sun StorageTek[TM] 99XX : How to Calculate Expected IOPS from a RAID Group  


Related Items
  • Sun Storage 9970 System
  •  
  • Sun Storage 9910 System
  •  
Related Categories
  • GCS>Sun Microsystems>Storage - Disk>Datacenter Disk
  •  

PreviouslyPublishedAs
229371


Description
One of the primary uses of large RAID storage arrays is to provide high-performance I/O for online transaction processing (OLTP).

Since OLTP tends to generate small random I/O, the performance measurement of greatest interest is the I/Os per second (IOPS) that a RAID array can achieve.  This document describes how to calculate the IOPS that can be expected from an individual disk drive, and by extension a RAID group or an entire array, based on published disk drive specifications.  Practical examples in this article are drawn from Sun StorEdge[TM] 9900 storage arrays, but the same method can be applied to other RAID arrays.



Steps to Follow
Publicly available drive specifications usually include figures such as minimum, maximum, and average seek time, and rotational latency. The general formula for calculating expected IOPS from a disk drive is simply:

                        1000 ms (1 second)

IOPS =  ---------------------------------------

                 (seek time + rotational latency)

For example, the Hitachi DKS2C-K72FC has an average seek time of 3.8 ms for reads, and 4.2 ms for writes.  The average rotational latency is 2.01 ms.  For random small block (less then 8KB) reads, the average IOPS expected from a single drive is given by:

                        1000

IOPS =  ---------------------- = 172

                      3.8 + 2.0

For zero per cent cache hit, small block random reads, the IOPS expected from a RAID group is determined by the number of disks in the RAID group multiplied by the IOPS expected from a single drive.  For example, for a RAID group containing 8 DKS2C-K72FC drives, the IOPS expected would be 8 x 172 = 1376.

Actual IOPS performance achieved with a given drive type depends on a number of factors, such as:

  • Mixture of reads vs. writes

  • Type of workload, data placement, and associated seek pattern

  • RAID type and configuration

  • Cache hit ratio

  • I/O size

  • Number of threads and queue depth used

Small block random write performance merits some additional discussion.  First, writes require a longer seek time (to continue with the 72GB Hitachi drive example, the average seek time for writes is 4.2 ms vs. 3.8 ms for reads).  RAID type also affects write performance.  RAID1 performs better then RAID5 for small block writes, but there is a write penalty even for RAID1 writes.  Essentially the RAID1 write penalty is the latency associated with waiting for mirrored writes to complete instead of only a single write.  The RAID5 write penalty is more substantial.  When writing a small block of data with RAID5 protection, the old block and its parity must be read, the block modified and new parity calculated, and then the new block and parity must be written.

To conclude, let us take a question that arose on a technical support alias as an example of how the IOPS calculations can be applied to an entire array.  A customer requires access to an 8TB database for an OLTP workload on a 9970, all configured in RAID1.  For maximum IOPS, the 72 GB 15K RPM drives discussed above should be used, but with the 128 drive limit on 9970, we cannot achieve 8TB usable capacity with the 72GB 15K RPM drives, particularly not with RAID1.  What difference in performance can be expected if we are forced to use the 143 GB drives   We can use the IOPS formulas to compare the average small block read IOPS that can be expected from the 72GB 15K RPM drives, vs. the 143 GB 10K RPM drives.  As calculated previously, the IOPS expected from a single K72FC drive is 172.  Approximately 232 of these drives would be required to achieve 8TB usable capacity with RAID1.  This exceeds the capacity of the 9970, but in a 9980 we could expect to  achieve approximately 172 x 232 = 39904 IOPS with the 72GB drives.  

The 143 GB drives have an average seek time of 4.9 ms and an average rotational latency of 2.99 ms.  This gives us an expected IOPS figure of 1000 / (4.9 + 2.99) = 126.  About 116 of the 143GB drives would be required to a achieve a usable capacity of 8TB with RAID1.  This gives us 116 * 126 = 14616.  The faster seek time, smaller rotational latency, and most importantly the higher spindle count of the array with the DKS2C-K72FC drives gives us a 2.7x boost in expected IOPS performance.



Product
Sun StorageTek 9990 System
Sun StorageTek 9980 System
Sun StorageTek 9970 System
Sun StorageTek 9960 System
Sun StorageTek 9910
Sun StorageTek 9900V Series Array

Internal Comments
Place Sun Internal-Use Only content here. This content will be published to internal SunSolve only.



RAID, IOPS, Performance, Disk, OLTP
Previously Published As
80621

Change History
Date: 2010-04-16
User Name: eh47940
Action: Modify Title.

Changing TechGroup to 'Storage'. - Admin Modify of Tech Group to Storage
Version: 0
Date: 2005-03-09
User Name: 71396
Action: Approved
Comment: Performed final review of article.
Updated trademarking.
Publishing.
Version: 3
Product_uuid
2a918ae2-0a18-11d6-834a-c679537eebe7 | Sun StorageTek 9910 System
2a94fb3c-0a18-11d6-90a8-c9c08656284f | Sun StorageTek 9960 System
4ea4b951-9fc9-4f1f-b64e-69572a400fb4 | Sun StorageTek 9970 System


Attachments
This solution has no attachment
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback