Solstice DiskSuite 4.2 Reference Guide

Optimizing for Random I/O and Sequential I/O

This section explains the differences between random I/O and sequential I/O, and DiskSuite strategies for optimizing your particular configuration.

Random I/O

Sequential Access I/O


Note -

Seek and rotation time are practically non-existent in the sequential case. When optimizing sequential I/O, the internal transfer rate of a disk is most important.


The most useful recommendation is: max-io-size / #-disks. Note that for UFS file systems, the maxcontig parameter controls the file system cluster size, which defaults to 56 KB. It may be useful to configure this to larger sizes for some sequential applications. For example, using a maxcontig value of 12 results in 96 KB file system clusters (12 * 8 KB blocks = 96 KB clusters). Using a 4-wide stripe with a 24 KB interlace size results in a 96 KB stripe width (4 * 24 KB = 96 KB) which is a good performance match.

Example: In sequential applications, typical I/O size is usually large (greater than 128 KB, often greater than 1 MB). Assume an application with a typical I/O request size of 256 KB and assume striping across 4 disk spindles. Do the arithmetic: 256 KB / 4 = 64 KB. So, a good choice for the interlace size would be 32 to 64 KB.

Number of stripes: Another way of looking at striping is to first determine the performance requirements. For example, you may need 10.4 MB/sec performance for a selected application, and each disk may deliver approximately 4 MB/sec. Based on this, then determine how many disk spindles you need to stripe across:

10.4 MB/sec / 4 MB/sec = 2.6

Therefore, 3 disks would be needed.