JFS Tuning and Performance

21
Using datainlog has no affect on normal asynchronous writes or synchronous writes performed with
direct I/O. The option nodatainlog is the default for systems without HP OnlineJFS, while datainlog is
the default for systems that do have HP OnlineJFS.
mincache
By default, I/O operations are cached in memory using the HP-UX buffer cache or Unified File Cache
(UFC), which allows for asynchronous operations such as read ahead and flush behind. The mincache
options convert cached asynchronous operations so they behave differently. Normal synchronous
operations are not affected.
The mincache option closesync flushes a file‟s dirty buffers/pages when the file is closed. The close()
system call may experience some delays while the dirty data is flushed, but the integrity of closed files
would not be compromised by a system crash.
The mincache option dsync converts asynchronous I/O to synchronous I/O. For best performance the
mincache=dsync option should not be used. This option should be used if the data must be on disk
when write() system call returns.
The mincache options direct and unbuffered are similar to the dsync option, but all I/Os are
converted to direct I/O. For best performance, mincache=direct should not be used unless I/O is
large and expected to be accessed only once, or synchronous I/O is desired. All direct I/O is
synchronous and read ahead and flush behind are not performed.
The mincache option tmpcache provides the best performance, but less data integrity in the event of a
system crash. The tmpcache option does not flush a file‟s buffers when it is closed, so a risk exists of
losing data or getting garbage data in a file if the data is not flushed to disk in the event of a system
crash.
All the mincache options except for closesync require the HP OnlineJFS product when using VxFS 5.0
or earlier. The closesync and direct options are available with the Base JFS product on VxFS 5.0.1
and above.
convosync
Applications can implement synchronous I/O by specifying the O_SYNC or O_DSYNC flags during
the open() system call. The convosync options convert synchronous operations so they behave
differently. Normal asynchronous operations are not affected when using the convosync mount option.
The convosync option closesync converts O_SYNC operations to be asynchronous operations. The
file‟s dirty buffers/pages are then flushed when the file is closed. While this option speeds up
applications that use O_SYNC, it may be harmful for applications that rely on data to be written to
disk before the write() system call completes.
The convosync option delay converts all O_SYNC operations to be asynchronous. This option is
similar to convosync=closesync except that the file‟s buffers/pages are not flushed when the file is
closed. While this option will improve performance, applications that rely on the O_SYNC behavior
may fail after a system crash.
The convosync option dsync converts O_SYNC operations to O_DSYNC operations. Data writes will
continue to be synchronous, but the associated inode time updates will be performed asynchronously.
The convosync options direct and unbuffered cause O_SYNC and O_DSYNC operations to bypass
buffer/file cache and perform direct I/O. These options are similar to the dsync option as the inode
time update will be delayed.
All of the convosync options require the HP OnlineJFS product when using VxFS 5.0 or earlier. The
direct option is available with the Base JFS product on VxFS 5.0.1.