JFS Tuning and Performance

20
Note
To improve your large directory performance, upgrade to VxFS 5.0 or later
and run vxupgrade to upgrade the disk layout version to version 7.
Mount options
blkclear
When new extents are allocated to a file, extents will contain whatever was last written on disk until
new data overwrites the old uninitialized data. Accessing the uninitialized data could cause a security
problem as sensitive data may remain in the extent. The newly allocated extents could be initialized to
zeros if the blkclear option is used. In this case, performance is traded for data security.
When writing to a “hole” in a sparse file, the newly allocated extent must be cleared first, before
writing the data. The blkclear option does not need to be used to clear the newly allocated extents in
a sparse file. This clearing is done automatically to prevent stale data from showing up in a sparse
file.
Note
For best performance, do not use the blkclear mount option.
datainlog, nodatainlog
Figure 12. Datainlog mount option
When using HP OnLineJFS, small (<= 8k) synchronous writes through the buffer/file cache are logged
to the Intent Log using the mount option datainlog. Logging small synchronous writes provides a
performance improvement as several transactions can be flushed with a single I/O. Once the
transaction is flushed to disk, the actual write can be performed asynchronously, thus simulating the
synchronous write. In the event of a system crash, the replay of the intent log will complete the
transaction and make sure the write is completed. However, using datainlog can cause a problem if
the asynchronous write fails to complete, possibly due to a disk I/O problem. If the I/O is returned in
error, the file will be marked bad and cleaned up (removed) during the next run of fsck. While
datainlog provides a performance improvement for synchronous writes, if true synchronous writes are
needed, then the datainlog option should not be used. Also, with datainlog, the data is physically
written to the disk twice, once as part of the Intent Log and once as part of the actual data block.
I
D
Intent Log
Memory
I
D
Later...