Using mincache=direct,convosync=direct,nodatainlog as a mount option causes degraded performance.

book

Article ID: 100032161

calendar_today

Updated On:

Cause

Because the mincache=directmincache=unbuffered, and mincache=dsync modes change non-synchronous I/O to synchronous I/O, there can be a substantial degradation in throughput for small to medium size files for most applications. Since the VX_DIRECT and VX_UNBUFFERED advisories do not allow any caching of data, applications that would normally benefit from caching for reads will usually experience less degradation with the mincache=dsync mode. The mincache=direct andmincache=unbuffered option requires significantly less CPU time than buffered I/O.

Resolution

Both of these options are used for data integrity but they may reduce performance.

The mincache=direct, mincache=unbuffered, and mincache=dsync modes are used in environments where applications are experiencing reliability problems caused by the kernel buffering of I/O and delayed flushing of non-synchronous I/O. The mincache=direct and mincache=unbuffered modes guarantee that all non-synchronous I/O requests to files will be handled as if the VX_DIRECT or VX_UNBUFFERED caching advisories had been specified. The mincache=dsync mode guarantees that all non-synchronous I/O requests to files will be handled as if the VX_DSYNC caching advisory had been specified.
 

Since the mincache=directmincache=unbuffered, and mincache=dsync modes change non-synchronous I/O to synchronous I/O, there can be a substantial degradation in throughput for small to medium size files for most applications. Since the VX_DIRECT and VX_UNBUFFERED advisories do not allow any caching of data, applications that would normally benefit from caching for reads will usually experience less degradation with the mincache=dsync mode. The mincache=direct and mincache=unbuffered options require significantly less CPU time than buffered I/O.

Note: If performance is more important than data integrity, the mincache=tmpcache mode may be used. 


The convosync=direct and convosync=unbuffered mode convert synchronous and data synchronous reads and writes to direct reads and writes.

As with closesync, the directunbuffered, and dsync modes flush changes to the file to disk when it is closed. These modes can be used to speed up applications that use synchronous I/O. Many applications that are concerned with data integrity specify the O_SYNC fcntl in order to write the file data synchronously. However, this has the side effect of updating inode times and therefore slowing down performance. The convosync=dsyncconvosync=unbuffered, andconvosync=direct modes alleviate this problem by allowing applications to take advantage of synchronous writes without modifying inode times as well.

Issue/Introduction

Using mincache=direct,convosync=direct,nodatainlog as a mount option causes degraded performance.