StorNext File System Tuning
The Metadata Controller System
StorNext File System Tuning Guide 14
The cvcp utility is a higher performance alternative to commands such as
cp and tar. The cvcp utility achieves high performance by using threads,
large I/O buffers, preallocation, stripe alignment, DMA I/O transfer, and
Bulk Create. Also, the
cvcp utility uses the SNFS External API for
preallocation and stripe alignment. In the directory-to-directory copy
mode (for example,
cvcp source_dir destination_dir,) cvcp conditionally
uses the
Bulk Create API to provide a dramatic small file copy
performance boost. However, it will not use
Bulk Create in some
scenarios, such as non-root invocation, managed file systems, quotas, or
Windows security. Hopefully, these limitations will be removed in a
future release. When
Bulk Create is utilized, it significantly boosts
performance by reducing the number of metadata operations issued. For
example, up to 20 files can be created all with a single metadata
operation. For more information, see the
cvcp man page.
The
cvmkfile utility provides a command line tool to utilize valuable
SNFS performance features. These features include preallocation, stripe
alignment, and affinities. See the
cvmkfile man page.
The
Lmdd utility is very useful to measure raw LUN performance as well
as varied I/O transfer sizes.
The
cvdbset utility has a special “Perf” trace flag that is very useful to
analyze I/O performance. For example:
cvdbset perf
Then, you can use cvdb -g to collect trace information such as this:
PERF: Device Write 41 MB/s IOs 2 exts 1 offs 0x0 len 0x400000 mics 95589 ino
0x5
PERF: VFS Write EofDmaAlgn 41 MB/s offs 0x0 len 0x400000 mics 95618 ino
0x5
The “PERF: Device” trace shows throughput measured for the device I/
O. It also shows the number of I/Os into which it was broken, and the
number of extents (sequence of consecutive filesystem blocks).
The “PERF: VFS” trace shows throughput measured for the read or write
system call and significant aspects of the I/O, including:
•Dma: DMA
•Buf: Buffered
• Eof: File extended
• Algn: Well-formed DMA I/O
• Shr: File is shared by another client
• Rt: File is real time