To control the runtime behaviour of the Redis cluster nodes we use many parameters which are in-built in-to the cluster. As the engine version of the cluster changes, more additional parameters come into picture. Many parameters are grouped together and given a name for the group, so that it is easy to manage the parameters which have dependencies or affect each other’s values.
The parameter values on a specific parameter group apply to all nodes that are associated with the group, regardless of which cluster they belong to. To fine-tune the cluster's performance, we can modify some parameter values or change the cluster's parameter group.
Below is a list of few examples of what a parameter looks like and what can it control.
|cluster-node-timeout||Cluster node timeout is the amount of milliseconds a node must be unreachable for it to be considered in failure state.|
|reserved-memory-percent||The percent of a node's memory reserved for non-data use. By reserving memory, you can set aside some of the available memory for non-Redis purposes to help reduce the amount of paging.|
|cluster-enabled||Indicates whether this is a Redis replication group in cluster mode or a replication group in non-cluster mode.|
|proto-max-bulk-len||Max size of a single element request.|
|client-query-buffer-limit||Max size of a single client query buffer.|
|activedefrag||Enabled active defragmentation.|
|maxclients 10000||Set the max number of connected clients at the same time. By default this limit is set to 10000 clients, however if the Redis server is not able to configure the process file limit to allow for the specified limit the max number of allowed clients is set to the current file limit minus 32.|
You cannot modify or delete the default parameter groups. If you need custom parameter values, you must create a custom parameter group.
If you change a cluster's parameter group, the values for any conditionally modifiable parameter must be the same in both the current and new parameter groups.
When you change a cluster's parameters, the change is applied to the cluster either immediately or after the cluster is restarted. This is true whether you change the cluster's parameter group itself or a parameter value within the cluster's parameter group.