JFS Tuning and Performance

23
Table 4. Intent log flush behavior with VxFS 3.5 or above
Operation
log
delaylog
tmplog
Async Write
Delayed
Delayed
Delayed
Sync Write
Flushed
Flushed
Flushed
Read
n/a
n/a
n/a
Sync (fsync())
Flushed
Flushed
Flushed
File Creation
Flushed
Delayed
Delayed
File Removal
Flushed
Delayed
Delayed
File Timestamp changes
Flushed
Delayed
Delayed
Directory Creation
Flushed
Delayed
Delayed
Directory Removal
Flushed
Delayed
Delayed
Symbolic/Hard Link Creation
Flushed
Delayed
Delayed
File/Directory Renaming
Flushed
Flushed
Delayed
Most transactions that are delayed with the delaylog or tmplog options include file and directory
creation, creation of hard links or symbolic links, and inode time changes (for example, using
touch(1M) or utime() system call). The major difference between delaylog and tmplog is how file
renaming is performed. With the log option, most transactions are flushed to the Intent Log prior to
performing the operation.
Note that using the log mount option has little to no impact on file system performance unless there
are large amounts of file create/delete/rename operations. For example, if you are removing a
directory with thousands of files in it, the removal will likely run faster using the delaylog mount option
than the log mount option, since the flushing of the intent log is delayed after each file removal.
Also, using the delaylog mount option has little or no impact on data integrity, since the log level does
not affect the read() or write() system calls. If data integrity is desired, synchronous writes should be
performed as they are guaranteed to survive a system crash regardless of the log level.
The logiosize can be used to increase throughput of the transaction log flush by flushing up to 4 KB at
a time.
The tranflush option causes all metadata updates (such as inodes, bitmaps, etc) to be flushed before
returning from a system call. Using this option will negatively affect performance as all metadata
updates will be done synchronously.
noatime
Each time a file is accessed, the access time (atime) is updated. This timestamp is only modified in
memory, and periodically flushed to disk by vxfsd. Using noatime has virtually no impact on
performance.
nomtime
The nomtime option is only used in cluster file systems to delay updating the Inode modification time.
This option should only be used in a cluster environment when the inode modification timestamp does
not have to be up-to-date.