HP JFS 3.3 and HP OnLineJFS 3.3 VERITAS File System 3.3 System Administrator's Guide

108 Chapter5
Performance and Tuning
I/O Tuning
Try to align the parameters to match the geometry of the logical disk.
With striping or RAID-5, it is common to set read_pref_io to the stripe
unit size and read_nstream to the number of columns in the stripe. For
striping arrays, use the same values for write_pref_io and
write_nstream, but for RAID-5 arrays, set write_pref_io to the full
stripe size and write_nstream to 1.
For an application to do efficient disk I/O, it should issue read requests
that are equal to the product of read_nstream multiplied by
read_pref_io. Generally, any multiple or factor of read_nstream
multiplied by read_pref_io should be a good size for performance. For
writing, the same rule of thumb applies to the write_pref_io and
write_nstream parameters. When tuning a file system, the best thing to
do is try out the tuning parameters under a real life workload.
If an application is doing sequential I/O to large files, it should try to
issue requests larger than the discovered_direct_iosz. This causes
the I/O requests to be performed as discovered direct I/O requests, which
are unbuffered like direct I/O but do not require synchronous inode
updates when extending the file. If the file is larger than can fit in the
cache, then using unbuffered I/O avoids throwing useful data out of the
cache and it avoids a lot of CPU overhead.