HP JFS 3.3 and HP OnLineJFS 3.3 VERITAS File System 3.3 System Administrator's Guide
106 Chapter5
Performance and Tuning
I/O Tuning
read_nstream The number of parallel read requests of size read_pref_io to have
outstanding at one time. The file system uses the product of
read_nstream multiplied by read_pref_io to determine its read
ahead size. The default value for read_nstream is 1.
write_nstream The number of parallel write requests of size write_pref_io to have
outstanding at one time. The file system uses the product of
write_nstream multiplied by write_pref_io to determine when
to do flush behind on writes. The default value for write_nstream is
1.
default_indir_
size
On VxFS, files can have up to ten direct extents of variable size stored in
the inode. Once these extents are used up, the file must use indirect
extents which are a fixed size that is set when the file first uses indirect
extents. These indirect extents are 8K by default. The file system does
not use larger indirect extents because it must fail a write and return
ENOSPC if there are no extents available that are the indirect extent size.
For file systems with a lot of large files, the 8K indirect extent size is too
small. The files that get into indirect extents use a lot of smaller extents
instead of a few larger ones. By using this parameter, the default indirect
extent size can be increased so large that files in indirects use fewer
larger extents. The tuneable default_indir_size should be used
carefully. If it is set too large, then writes will fail when they are unable
to allocate extents of the indirect extent size to a file. In general, the
fewer and the larger the files on a file system, the larger the
default_indir_size can be set. This parameter should generally be
set to some multiple of the read_pref_io parameter.
default_indir_size is not applicable on Version 4 disk layouts.
discovered_direct_i
osz
Any file I/O requests larger than the discovered_direct_iosz are
handled as discovered direct I/O. A discovered direct I/O is unbuffered
similar to direct I/O, but it does not require a synchronous commit of the
inode when the file is extended or blocks are allocated. For larger I/O
requests, the CPU time for copying the data into the page cache and the
cost of using memory to buffer the I/O data becomes more expensive
than the cost of doing the disk I/O. For these I/O requests, using
discovered direct I/O is more efficient than regular I/O. The default
value of this parameter is 256K.