Scroll to navigation

GANESHA-CACHE-CONFIG(8) NFS-Ganesha GANESHA-CACHE-CONFIG(8)

NAME

ganesha-cache-config - NFS Ganesha Cache Configuration File

SYNOPSIS

/etc/ganesha/ganesha.conf

DESCRIPTION

NFS-Ganesha reads the configuration data from: | /etc/ganesha/ganesha.conf

This file lists NFS-Ganesha Cache config options.

MDCACHE {}

Partitions in the MDCACHE tree.
Per-partition hash table size.
Use getattr for directory invalidation.
Size of per-directory dirent cache chunks, 0 means directory chunking is not enabled. Dir_Chunk should always be enabled. Most FSAL modules especially FSAL_RGW/FSAL_GLUSTER need it to make readdir work well.
Max number of detached directory entries expressed as a multiple of the chunk size.
The point at which object cache entries will start being reused.
The number of entries attempted to release each time when the handle cache has exceeded the entries high water mark.
The point at which dirent cache chunks will start being reused.
The target for reaping dirent cache chunks to drain the cache.

Entries_HWMark, Dir_Chunk, Chunks_HWMark, Chunks_LWMark all play together. While a dirent chunk is cached, the object cache entries that are part of that dirent chunk will be retained in the cache indefinitely. Note that this means that possibly Chunks_LWMark * Dir_Chunk entries will be retained. If this is larger than Entries_HWMark, then the object cache may end up remaining above Entries_HWMark for a significant time. Consider the average size of the directories and the number of directories desired to be maintained in the cache and set Chunks_LWMark appropriately.

Note that the Chunks_LWMark defaults to the same value as Chunks_HWMark and these are set to 1/100 of Entries_HWMark suggesting an average directory size of 100. It may be desirable to set Chunks_LWMark less than Chunks_HWMark if it is desirable to allow large directory chunks to not immediately be re-used, but it is desirable to in the short term drain the dirent cache down to a smaller number.

Base interval in seconds between runs of the LRU cleaner thread.
If "Cache_FDs" is set to false, the reaper thread aggressively closes FDs , significantly reducing the number of open FDs. This will help to maintain a minimal number of open FDs.

If "Cache_FDs" is set to true (default), FDs are cached, and the LRU reaper thread closes FDs only when the current open FD count reaches or exceeds the "fds_lowat" threshold.

The percentage of the system-imposed maximum of file descriptors at which Ganesha will deny requests.
The percentage of the system-imposed maximum of file descriptors above which Ganesha will make greater efforts at reaping.
The percentage of the system-imposed maximum of file descriptors below which Ganesha will not reap file descriptors.
Roughly, the amount of work to do on each pass through the thread under normal conditions. (Ideally, a multiple of the number of lanes.) This setting is deprecated. Please use Reaper_Work_Per_Lane
This is the number of handles per lane to scan when performing LRU maintenance. This task is performed by the Reaper thread.
The largest window (as a percentage of the system-imposed limit on FDs) of work that we will do in extremis.
Percentage of progress toward the high water mark required in in a pass through the thread when in extremis
Number of failures to approach the high watermark before we disable caching, when in extremis.
The point at which dirmap entries are reused. This puts a practical limit on the number of simultaneous readdirs that may be in progress on an export for a whence-is-name FSAL (currently only FSAL_RGW)

SEE ALSO

ganesha-config(8)

September 25, 2024