calculators> disk & disk array:
disk parameters
capacity (GB)
rotation speed (RPM)
average seek latency (ms)
array parameters
number of disks
RAID level
stripe size (KiB)
workload parameters
reads (%)
writes (%)
read cache hit ratio (%)
write cache hit ratio (%)
average I/O size (KiB)
application block size (KiB)
host parameters
number of FC ports
average I/O service time (ms)
FC port queue depth
lun queue depth
disk results
 
capacity (GiB)
average random IOPS
access density (IOPS/GiB)
array results
native capacity (GiB)
usable capacity (GiB)
 
workload results
average random IOPS
average throughput (MiB/s)
 
 
 
 
host results
maximum host IOPS
maximum lun IOPS
 
This tool is used for estimating the efficiency and capacity of disks and disk arrays. The results will appear automatically when you type the value of the required parameters.

I appreciate any feedback, suggestions, bug reports.

Move the mouse pointer over the results to see how they are counted.
real disk capacity (GiB)
Disk capacity presented by the manufacturers of these devices is expressed in GB or TB. These units are created by increasing the power of the number 1000. Meanwhile, the computers shows the size of disks in MiB (gibibyte) or TIB (tebibyte). They are formed by increasing the power of the number 1024. For the binary system it's more natural. Read more at Wikipedia

GiB (gibibyte) = 1024 * 1024 * 1024 B
diskGiB = (diskGB * 1 GB) / GiB
average random disk IOPS
Average random Input / Output Operations Per Second. This is a parameter specifying the hard disk performance. This is calculated based on values of the delays generated by the moving drive parts - rotating disk and positioning the head.

rotationLatency = 1 / diskRPM / 60 / 2
diskIOPS = 1 / (rotationLatency + diskSeekLatency)
disk access density
Access Density is the ratio of performance, measured in I/Os per second, to the capacity of the drive, currently measured in gigabytes (Access Density = I/Os per second per gigabyte).

diskAccessDencity = diskIOPS / diskGiB
native array capacity (GiB)
Raw capacity of the array, without RAID protection, spare disks and so on.

arrayNativeCapacity = disks * diskGiB
usable array capacity (GiB)
After formatting the matrix in a RAID level, so much disk space remains for the data.

arrayUsableCapacity = disks / (parityDisks + dataDisks) * dataDisks * diskGiB;
average random array IOPS
writeIO:
     1 if raid0
     2 if raid10
     4 if raid5
     6 if raid6

arrayIOPS = (disks * diskIOPS) / ((1 + ((ioSize * 1 / appBlockSize) - 1) / (stripeSize * 1 / appBlockSize)) * reads / 100 * (1 - readCacheHitRatio / 100) + writeIO * ( 1 + ((ioSize * 1 / appBlockSize) - 1) / (stripeSize * 1 / appBlockSize)) * writes / 100 * (1 - writeCacheHitRatio / 100))
average array throughput
arrayThroughput = arrayIOPS * ioSize
maximum host IOPS
hostIOPS = 1 / averageServiceTime * fcPortQueueDepth * fcPorts
maximum lun IOPS
lunIOPS = 1 / averageServiceTime * lunQueueDepth
Bookmark and Share
Copyright © 2009 Marek Wołynko