Based on the number of files and folders in a volume, you can configure the cache limits. If the volume has millions of files and folders, the default settings do not hold good. Tune the following cache settings discreetly.
This controls the maximum number of folder entries that can be cached by the CIFS server for a volume in the directory cache. The default value is 102400.
Use the following command to the set the Maximum Cached Subdirectories Per Volume:
novcifs –k SDIRCACHE = <value for the Maximum Cached Subdirectories Per Volume>
This controls the maximum number of file entries that can be cached by the CIFS server for a given volume in the directory cache. The default value is 256000.
Use the following command to the set the Maximum Cached Files Per Volume:
novcifs –k FILECACHE = <value for the Maximum Cached Files Per Volume>
NOTE:The filecache size determines how many files or folders can be opened at a time. However, the total number of files and folders residing in a volume might be substantially larger than this number. This setting caches only the file name and related information; it does not cache the whole file.
Recommendation: Set this value close to the number of files and folders available in a volume.
A subtree search or contextless login enables CIFS to search for a user in the entire base context of a tree. The subtree search setting that is saved in the cifs.conf file stays persistent even if the system or service is restarted.
To use the subtree search feature, the CIFS proxy user should have read rights for the base context. These rights are assigned automatically from iManager when the context is added. A subtree search can be configured only at a physical server or at node level. In a cluster setup, each node should be configured with the same configuration level for consistent behavior.
Use the following command to enable or disable subtree search:
novcifs -y yes|no
Subtree search performance depends on the distribution of eDirectory replicas in the tree, rather than on the actual hierarchy of eDirectory contexts.
If you enable subtree search, it is recommended to enable Invalid User cache feature.
-UT TIMEOUT-PERIOD, --block-invalid-users --timeout-period=TIMEOUT-PERIOD
Enables CIFS to cache the invalid user logins for a specific timeout period. Further authentication requests from the same user name will be ignored based on the configured timeout period.
Specifies the amount of time a user should be considered as invalid to ignore authentication requests.
Specify the timeout period in minutes and the range should be between 0 and 525600.
By default, caching the invalid user logins is disabled.
Please keep the CIFS information and debug logs in a disabled state unless you specifically require the detailed log information.
To enable or disable the Debug Log for Developers, use the following command: novcifs [--log-level debug]
To enable or disable the Info Log, use the following command: novcifs [--log-level info]
The Oplocks or opportunistic locking improves file access performance by caching files at the client side. This option is enabled by default.
Recommendation: For better performance, oplocks should be enabled (use iManager).
Leasing available with the SMB 2.1 or later is an enhancement to Oplocks. It provides better performance compared to Oplocks by increasing the amount of caching and by reducing the number of cache break. This option is enabled by default. Leasing can be enabled only if Oplocks is enabled.
Recommendation: For better performance, leasing should be enabled.
novcifs --leasing=yes|no
The CrossProtocol locks help in using the files in the right way from different clients depending on the type of file accessed. This option is enabled by default.
Recommendation: Option should be enabled for data integrity purposes.
SMB signing ensures data integrity. This option is disabled by default in the latest CIFS release. This is because both the client and server are in a trusted corporate network and because the disabled state provides optimal file server performance. SMB signing should be turned off when domain authentication is configured.
Recommendation: Option is disabled by default.
novcifs –g yes / no / optional / force
For more information on CIFS parameters that affect the file system performance, see Locks Management for CIFS, Enabling Offline Files Support, and Directory Cache Management for CIFS Server.
At any point in time, by default, the CIFS service allows 65k files on the server to be in open state irrespective of the number of user sessions established. You can increase this limit to 600k by enabling the dynamic FID pool option. Enabling this option allows each user session to open up to 65k files, with a maximum number of open files not exceeding 600k collectively from all the user sessions established.