Sizing Disks for I/O Capacity AIX Tip of the Week

Sizing Disk for I/O Capacity

Audience: All

Date: April 12, 2002
Updated April 2006 to reflect current disk capabilities

AIX Tip of the Week

Audience:  All

A Storage Area Network, or SAN, is a group of disk drives that can be shared by multiple servers. SAN's are often sold as a "black box" that you simply plug your servers into for storage. However, my experience is that this can lead to I/O bottlenecks. Under the covers, a SAN is still a disk drive, and you have to provide sufficient number of physical disks to handle the I/O load.

Here's a simple methodology (taught by Dan Braden, IBM Advanced Technical Support) to estimate the minimum number of disk drives to support a given I/O load. The methodology is based on current disk technology which supports the following I/O loads. Note these capabilities are common to all disk drives, regardless of disk capacity.

 

IOPS (I/O's per Second,
or iostat "tps")

Data Transfer Rate
(MB/sec)

Minimum Number of Disk Drives to Support Workload

Random I/O (10k RPM) 125 0.5 n = (%R + f (%W))(tps)/125
Random I/O (15k RPM) 150 0.5+ n = (%R + f (%W))(tps)/150
Sequential I/O 2000 50 n = (MB/sec)/50

Where:
%R = the percentage of disk I/O's that are reads.
%W= the percentage of disk I/O's that are writes.
f = 1 for ordinary disks, 2 for mirrored disks, 4 for Raid 5 disks.
Assumes data is distributed evenly across all disk drives.

Using the above formula, here's the minimum number of disks required to support a random I/O workload, at 1000 IOPS,  80% read, 20% write on 10K RPM disk drives.

Ordinary disks:  (0.8 + 1*0.2)(1000 IOPS)/(125 IOPS/disk)  = 8
Mirrored disks:  (0.8 + 2*0.2)(1000 IOPS)/(125 IOPS/disk)  = 10
Raid 5 disks:      (0.8 + 4*0.2)(1000 IOPS)/(125 IOPS/disk) =  13

Note that Raid 5 requires more disks than mirroring to achieve the same I/O rate in this example!

Next week's tip will show how to estimate IOPS and the read/write percentages using the "iostat" command.


Bruce Spencer,
baspence@us.ibm.com