Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition | |||
|
|
Solution Type Technical Instruction Sure Solution 1018062.1 : Sun StorageTek[TM] 99XX : How to Calculate Expected IOPS from a RAID Group
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:
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 |
||||||||||||
|