Parameters for performance tuning and optimization
Use these parameters with the mmchconfig command for performance tuning and optimization.
Tuning guide for frequently changed parameters
- autoload
- When autoload is set to yes, GPFS starts automatically on the nodes that are rebooted. The rebooted nodes
rejoin the cluster. The file system automount option is set to
yes, and the file system is mounted. The default value of this parameter is
no. Important: Set autoload to no before you fix hardware issues and performing system maintenance.
- deadlockDetectionThreshold
- When deadlockDetectionThreshold is set to 0, the GPFS dead-lock detection feature is disabled. The default
value of this parameter is 300 seconds. Important: You must enable the GPFS dead-lock detection feature to collect debug data and resolve dead lock issue in a cluster. If dead-lock events occur frequently, fix the problem instead of disabling the feature.
- defaultHelperNodes
- The nodes that are added to defaultHelperNodes are used in running certain
commands, such as mmrestripefs. Running the GPFS command on partial nodes in a cluster, such as running
the mmrestripefs command on all NSD server nodes, might have a better performance. The default value
of this parameter is all nodes in cluster. Important: Set the –N option for GPFS management commands or change the value of defaultHelperNodes before you run the GPFS management commands.
- maxFilesToCache
- The maxFilesToCache parameter specifies the number of files that can be
cached by each node. The range of valid values for maxFilesToCache is 1 -
100,000,000. The default value is 4000. The value of this parameter must be large enough to handle
the number of concurrently open files and to allow the caching of recently used files.
Changing the value of maxFilesToCache affects the amount of memory that is used on the node. In a large cluster, a change in the value of maxFilesToCache is greatly magnified. Increasing maxFilesToCache in a large cluster with hundreds of nodes increases the number of tokens a token manager needs to store. Ensure that the manager node has enough memory and tokenMemLimit is increased when you are running GPFS version 4.1.1 and earlier. Therefore, increasing the value of maxFilesToCache on large clusters usually happens on a subset of nodes that are used as log-in nodes, SMB and NFS exporters, email servers, and other file servers.
For systems on which applications use many files, increasing the value of maxFilesToCache might be beneficial, especially where many small files are accessed.
Trouble: Setting the maxFilesToCache parameter to a high value results in a large amount of memory that is being allocated for internal data buffering. If the value of maxFilesToCache is set too high, some operations in IBM Storage Scale might not have enough memory to run in. If you set maxFilesToCache to a high value, then an error message might appear in the mmfs.log indicating that there is insufficient memory to perform an operation. To rectify, the error, try to lower the value of maxFilesToCache.
- maxBlockSize
- The value of maxBlockSize must be equal to or larger than the maximum block
size of all the file systems in the local and remote clusters. Before you change this parameter,
ensure that the GPFS daemon on each node in
the cluster is shut down. The default value is 4
MB.Note: When you migrate a cluster from an earlier version to version 5.0.0 or later, the value of maxblocksize stays the same. However, if maxblocksize was set to DEFAULT in the earlier version of the cluster, then migrating it to version 5.0.0 or later sets it explicitly to 1 MiB, that is, its default size in earlier versions. To change maxBlockSize to the default size after you migrate to version 5.0.0 or later, set maxblocksize=DEFAULT (4 MiB).For more information, see mmcrfs command and mmchconfig command.
- maxMBpS
-
The maxMBpS parameter indicates the maximum throughput in megabytes per second that GPFS can submit into or out of a single node. GPFS calculates from this variable how many prefetch or
writebehind
threads to schedule for sequential file access.In GPFS version 3.5 and later, the default value is 2048. But if the node has faster interconnect, such as InfiniBand or 40 GigE or multiple links, you can set the parameter to a higher value. As a rule, try setting maxMBpS to twice the I/O throughput that the node can support. For example, if the node has 1 x FDR link and the GPFS configuration parameter verbRdma is enabled, then the expected throughput of the node is 6000 MB/s. In this case, set maxMBpS to 12000.
Setting maxMBpS does not guarantee the required GPFS sequential bandwidth on the node. All the layers of the GPFS stack, including the node, the network, and the storage subsystem, must be designed and tuned to meet the I/O performance requirements.
- maxStatCache
- The maxStatCache parameter sets aside the pageable memory to cache
attributes of files that are not currently in the regular file cache. This improves the performance
of stat() calls for applications with a working set that does not fit in the regular file cache. For
systems where applications test the existence of files, or the properties of files, without opening
them as backup applications do, increasing the value for maxStatCache can be
beneficial.
For information about the default values of maxFilesToCache and maxStatCache, see the description of the maxStatCache attribute in the topic mmchconfig command.
In versions of IBM Storage Scale earlier than 5.0.2, the stat cache is not effective on the Linux® platform unless the Local Read-Only Cache (LROC) is configured. For more information, see the description of the maxStatCache parameter in the topic mmchconfig command.
- nsdMaxWorkerThreads
- NSD server tuning. For more information about nsdMaxWorkerThreads, see mmchconfig command.
- pagepool
- The pagepool parameter is used to change the size of the data cache on each
node. The default value is either one-third of the physical memory of the node or
4 GiB
, whichever is smaller.
The default value applies to new clusters that are installed with IBM Storage Scale 5.2.0 or higher. Otherwise, the existing default value is used.
On upgrades, the existing default value is maintained.
- readReplicaPolicy
- The readReplicaPolicy parameter specifies the location from which the disk must read the replicas. The valid values are default, local and fastest. The default value is default.
- restripeOnDiskFailure
- The restripeOnDiskFailure specifies whether GPFS attempts to automatically recover from certain common
disk failure situations. The default value of this parameter is no. Important: While you deploy FPO or when the HAWC feature is enabled, set the restripeOnDiskFailure parameter to yes.
- tiebreakerDisks
- For a small cluster with up to eight nodes that have SAN-attached disk systems, define all nodes as quorum nodes and use tiebreaker disks. With more than eight nodes, use only node quorum. While you are defining the tiebreaker disks, you can use the SAN-attached NSD in the file system. The default value of this parameter is null, which means no tiebreaker disk is defined.
- unmountOnDiskFail
- The unmountOnDiskFail attribute controls how the GPFS daemon responds when it detects a disk failure. For more information, see the topic mmchconfig command.Important:Set the value of unmountOnDiskFail to meta in the following situations:
- FPO deployment.
- When the metadata and data replicas are more than one.
- workerThreads
- The workerThreads parameter controls an integrated group of variables that tune the file system performance in environments that are capable of high sequential and random read and write workloads and small file activity.