{
  "schema_version": 2,
  "id": "operate/rs/references/cli-utilities/rladmin/tune",
  "title": "rladmin tune",
  "url": "https://redis.io/docs/latest/operate/rs/7.4/references/cli-utilities/rladmin/tune/",
  "summary": "Configures parameters for databases, proxies, nodes, and clusters.",
  "content": "\nConfigures parameters for databases, proxies, nodes, and clusters.\n\n## `tune cluster`\n\nConfigures cluster parameters.\n\n``` sh\nrladmin tune cluster\n        [ repl_diskless { enabled | disabled } ]\n        [ redis_provision_node_threshold \u003csize\u003e ]\n        [ redis_migrate_node_threshold \u003csize\u003e ]\n        [ redis_provision_node_threshold_percent \u003cpercent\u003e ]\n        [ redis_migrate_node_threshold_percent \u003cpercent\u003e ]\n        [ max_simultaneous_backups \u003cnumber\u003e ]\n        [ failure_detection_sensitivity { high | low } ]\n        [ watchdog_profile { cloud | local-network } ]\n        [ slave_ha { enabled | disabled } ]\n        [ slave_ha_grace_period \u003cseconds\u003e ]\n        [ slave_ha_cooldown_period \u003cseconds\u003e ]\n        [ slave_ha_bdb_cooldown_period \u003cseconds\u003e ]\n        [ max_saved_events_per_type \u003cvalue\u003e ]\n        [ parallel_shards_upgrade \u003cvalue\u003e ]\n        [ default_concurrent_restore_actions \u003cvalue\u003e ]\n        [ show_internals { enabled | disabled } ]\n        [ expose_hostnames_for_all_suffixes { enabled | disabled } ]\n        [ redis_upgrade_policy { latest | major } ]\n        [ default_redis_version \u003cvalue\u003e ]\n        [ default_non_sharded_proxy_policy { single | all-master-shards | all-nodes } ]\n        [ default_sharded_proxy_policy { single | all-master-shards | all-nodes } ]\n        [ default_shards_placement { dense | sparse } ]\n        [ data_internode_encryption { enabled | disabled } ]\n        [ db_conns_auditing { enabled | disabled } ]\n        [ acl_pubsub_default { resetchannels | allchannels } ]\n        [ resp3_default { enabled | disabled } ]\n        [ automatic_node_offload { enabled | disabled } ]\n```\n\n### Parameters\n\n| Parameters                             | Type/Value                        | Description                                                                                                                  |\n|----------------------------------------|-----------------------------------|------------------------------------------------------------------------------------------------------------------------------|\n| acl_pubsub_default | `resetchannels`\u003cbr /\u003e `allchannels` | Default pub/sub ACL rule for all databases in the cluster:\u003cbr /\u003e•`resetchannels` blocks access to all channels (restrictive)\u003cbr /\u003e•`allchannels` allows access to all channels (permissive) |\n| automatic_node_offload | `enabled`\u003cbr /\u003e`disabled` | Define whether automatic node offload migration will take place |\n| data_internode_encryption              | `enabled`\u003cbr /\u003e`disabled`       | Activates or deactivates [internode encryption](https://redis.io/docs/latest/operate/rs/security/encryption/internode-encryption) for new databases    |\n| db_conns_auditing                      | `enabled`\u003cbr /\u003e `disabled`      | Activates or deactivates [connection auditing](https://redis.io/docs/latest/operate/rs/security/audit-events) by default for new databases of a cluster                                                                  |\n| default_concurrent_restore_actions     | integer\u003cbr /\u003e`all`              | Default number of concurrent actions when restoring a node from a snapshot (positive integer or \"all\")                         |\n| default_non_sharded_proxy_policy | `single`\u003cbr /\u003e\u003cbr /\u003e`all-master-shards`\u003cbr /\u003e\u003cbr /\u003e`all-nodes` | Default [proxy policy](https://redis.io/docs/latest/operate/rs/databases/configure/proxy-policy) for newly created non-sharded databases' endpoints |\n| default_redis_version                  | version number                    | The default Redis database compatibility version used to create new databases.\u003cbr/\u003e\u003cbr/\u003e  The value parameter should be a version number in the form of \"x.y\" where _x_ represents the major version number and _y_ represents the minor version number.  The final value corresponds to the desired version of Redis.\u003cbr/\u003e\u003cbr/\u003eYou cannot set _default_redis_version_ to a value higher than that supported by the current _redis_upgrade_policy_ value. |\n| default_sharded_proxy_policy | `single`\u003cbr /\u003e\u003cbr /\u003e`all-master-shards`\u003cbr /\u003e\u003cbr /\u003e`all-nodes` | Default [proxy policy](https://redis.io/docs/latest/operate/rs/databases/configure/proxy-policy) for newly created sharded databases' endpoints |\n| default_shards_placement | `dense`\u003cbr /\u003e`sparse` | New databases place shards according to the default [shard placement policy](https://redis.io/docs/latest/operate/rs/databases/memory-performance/shard-placement-policy) |\n| expose_hostnames_for_all_suffixes      | `enabled`\u003cbr /\u003e`disabled`       | Exposes hostnames for all DNS suffixes                                                                                       |\n| failure_detection_sensitivity | `high`\u003cbr /\u003e`low` | Predefined thresholds and timeouts for failure detection (previously known as `watchdog_profile`)\u003cbr /\u003e• `high` (previously `local-network`) – high failure detection sensitivity, lower thresholds, faster failure detection and failover\u003cbr /\u003e• `low` (previously `cloud`) – low failure detection sensitivity, higher tolerance for latency variance (also called network jitter) |\n| login_lockout_counter_reset_after      | time in seconds                   | Time after failed login attempt before the counter resets to 0                                                                   |\n| login_lockout_duration                 | time in seconds                   | Time a locked account remains locked ( \"0\" means only an admin can unlock the account)                                   |\n| login_lockout_threshold                | integer                           | Number of failed sign-in attempts to trigger locking a user account (\"0\" means never lock the account)                   |\n| max_saved_events_per_type              | integer                           | Maximum number of events each type saved in CCS per object type                                                              |\n| max_simultaneous_backups               | integer (default: 4)                      | Number of database backups allowed to run at the same time. Combines with `max_redis_forks` (set by [`tune node`](#tune-node)) to determine the number of shard backups allowed to run simultaneously.                                                                                  |\n| parallel_shards_upgrade                | integer\u003cbr /\u003e`all`              | Number of shards upgraded in parallel during DB upgrade (positive integer or \"all\")                                          |\n| redis_migrate_node_threshold           | size in MB                        | Memory (in MBs by default or can be specified) needed to migrate a database between nodes                                   |\n| redis_migrate_node_threshold_percent   | percentage                | Memory (in percentage) needed to migrate a database between nodes                                                            |\n| redis_provision_node_threshold         | size in MB                        | Memory (in MBs by default or can be specified) needed to provision a new database                                           |\n| redis_provision_node_threshold_percent | percentage                | Memory (in percentage) needed to provision a new database                                                                    |\n| redis_upgrade_policy                   | `latest`\u003cbr /\u003e`major`           | When you upgrade or create a new Redis database, this policy determines which version of Redis database compatibility is used.\u003cbr /\u003e\u003cbr /\u003eSupported values are:\u003cul\u003e\u003cli\u003e\u003cp\u003e`latest`, which applies the most recent Redis compatibility update \\(_effective default prior to v6.2.4_)\u003cp\u003e\u003c/li\u003e\u003cli\u003e`major`, which applies the most recent major release compatibility update (_default as of v6.2.4_).\u003c/li\u003e\u003c/ul\u003e                                                                                                                 |\n| repl_diskless                          | `enabled`\u003cbr /\u003e`disabled`       | Activates or deactivates diskless replication (can be overridden per database)                                              |\n| resp3_default | `enabled` \u003cbr /\u003e `disabled` | Determines the default value of the `resp3` option upon upgrading a database to version 7.2 (defaults to `enabled`) |\n| show_internals                         | `enabled`\u003cbr /\u003e`disabled`       | Controls the visibility of internal databases that are only used for the cluster's management                                |\n| slave_ha                               | `enabled` \u003cbr /\u003e `disabled`   | Activates or deactivates [replica high availability](https://redis.io/docs/latest/operate/rs/databases/configure/replica-ha) in the cluster\u003cbr /\u003e(enabled by default; use [`rladmin tune db`](#tune-db) to change `slave_ha` for a specific database)\u003cbr /\u003e\u003cbr /\u003eDeprecated as of Redis Enterprise Software v7.2.4. |\n| slave_ha_bdb_cooldown_period           | time in seconds (default: 7200) | Time (in seconds) a database must wait after its shards are relocated by [replica high availability](https://redis.io/docs/latest/operate/rs/databases/configure/replica-ha) before it can go through another shard migration if another node fails (default is 2 hours) |\n| slave_ha_cooldown_period               | time in seconds (default: 3600) | Time (in seconds) [replica high availability](https://redis.io/docs/latest/operate/rs/databases/configure/replica-ha) must wait after relocating shards due to node failure before performing another shard migration for any database in the cluster (default is 1 hour) |\n| slave_ha_grace_period                  | time in seconds (default: 600) | Time (in seconds) between when a node fails and when [replica high availability](https://redis.io/docs/latest/operate/rs/databases/configure/replica-ha) starts relocating shards to another node      |\n| watchdog_profile                       | `cloud` \u003cbr /\u003e `local-network` | Watchdog profiles with preconfigured thresholds and timeouts (deprecated as of Redis Enterprise Software v6.4.2-69; use \u003cspan class=\"break-all\"\u003e`failure_detection_sensitivity`\u003c/span\u003e instead)\u003cbr /\u003e• `cloud` is suitable for common cloud environments and has a higher tolerance for latency variance (also called network jitter).\u003cbr /\u003e• `local-network` is suitable for dedicated LANs and has better failure detection and failover times. |\n\n### Returns\n\nReturns `Finished successfully` if the cluster configuration was changed. Otherwise, it returns an error.\n\nUse [`rladmin info cluster`](https://redis.io/docs/latest/operate/rs/references/cli-utilities/rladmin/info#info-cluster) to verify the cluster configuration was changed.\n\n### Example\n\n``` sh\n$ rladmin tune cluster slave_ha enabled\nFinished successfully\n$ rladmin info cluster | grep slave_ha\n    slave_ha: enabled\n```\n\n## `tune db`\n\nConfigures database parameters.\n\n``` sh\nrladmin tune db { db:\u003cid\u003e | \u003cname\u003e }\n        [ slave_buffer \u003cauto | valueMB | hard:soft:time\u003e ]\n        [ client_buffer \u003cvalue\u003e ]\n        [ repl_backlog \u003cvalueMB | auto\u003e ]\n        [ crdt_repl_backlog \u003cvalueMB | auto\u003e ]\n        [ repl_timeout \u003cseconds\u003e ]\n        [ repl_diskless { enabled | disabled | default } ]\n        [ master_persistence { enabled | disabled } ]\n        [ maxclients \u003cvalue\u003e ]\n        [ schedpolicy { cmp | mru | spread | mnp } ]\n        [ max_shard_pipeline \u003cvalue\u003e ]\n        [ conns \u003cvalue\u003e ]\n        [ conns_type \u003cvalue\u003e ]\n        [ max_client_pipeline \u003cvalue\u003e ]\n        [ max_connections \u003cvalue\u003e ]\n        [ max_aof_file_size \u003csize\u003e ]\n        [ max_aof_load_time \u003cseconds\u003e ]\n        [ oss_cluster { enabled | disabled } ]\n        [ oss_cluster_api_preferred_ip_type \u003cvalue\u003e ]\n        [ slave_ha { enabled | disabled } ]\n        [ slave_ha_priority \u003cvalue\u003e ]\n        [ skip_import_analyze { enabled | disabled } ]\n        [ mkms { enabled | disabled } ]\n        [ continue_on_error ]\n        [ gradual_src_mode { enabled | disabled } ]\n        [ gradual_sync_mode { enabled | disabled | auto } ]\n        [ gradual_sync_max_shards_per_source \u003cvalue\u003e ]\n        [ module_name \u003cvalue\u003e ] [ module_config_params \u003cvalue\u003e ]\n        [ crdt_xadd_id_uniqueness_mode { liberal | semi-strict | strict } ]\n        [ metrics_export_all { enabled | disabled } ]\n        [ syncer_mode { distributed | centralized }]\n        [ syncer_monitoring { enabled | disabled } ]\n        [ mtls_allow_weak_hashing { enabled | disabled } ]\n        [ mtls_allow_outdated_certs { enabled | disabled } ]\n        [ data_internode_encryption { enabled | disabled } ]\n        [ db_conns_auditing { enabled | disabled } ]\n        [ resp3 { enabled | disabled } ]\n```\n\n### Parameters\n\n| Parameter                            | Type/Value                       | Description                                                                                                                           |\n|--------------------------------------|----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|\n| db:id                                | integer                          | ID of the specified database                                                                                                          |\n| name                                 | string                           | Name of the specified database                                                                                                        |\n| client_buffer                        | value in MB hard:soft:time       | Redis client output buffer limits                                                                                                     |\n| conns                                | integer                          | Size of internal connection pool, specified per-thread or per-shard depending on conns_type                                           |\n| conns_type                           | `per-thread`\u003cbr /\u003e `per-shard`   | Specifies connection pool size as either per-thread or per-shard                                                                      |\n| continue_on_error                    |                                  | Flag that skips tuning shards that can't be reached                                                                                   |\n| crdt_repl_backlog                    | value in MB\u003cbr /\u003e `auto`         | Size of the Active-Active replication buffer                                                                                          |\n| crdt_xadd_id_uniqueness_mode         | `liberal`\u003cbr /\u003e `semi-strict`\u003cbr /\u003e `strict` | XADD's behavior in an Active-Active database, defined as liberal, semi-strict, or strict (see descriptions below)         |\n| data_internode_encryption            | `enabled`\u003cbr /\u003e `disabled`       | Activates or deactivates [internode encryption](https://redis.io/docs/latest/operate/rs/security/encryption/internode-encryption) for the database               |\n| db_conns_auditing                    | `enabled`\u003cbr /\u003e `disabled`       | Activates or deactivates database [connection auditing](https://redis.io/docs/latest/operate/rs/security/audit-events) for a database                                                                 |\n| gradual_src_mode                     | `enabled`\u003cbr /\u003e `disabled`       | Activates or deactivates gradual sync of sources                                                                                      |\n| gradual_sync_max_shards_per_source   | integer                          | Number of shards per sync source that can be replicated in parallel (positive integer)                                                |\n| gradual_sync_mode                    | `enabled`\u003cbr /\u003e `disabled`\u003cbr /\u003e `auto` | Activates, deactivates, or automatically determines gradual sync of source shards                                              |\n| master_persistence                   | `enabled`\u003cbr /\u003e `disabled`       | If enabled, persists the primary shard in addition to replica shards in a replicated and persistent database. |\n| max_aof_file_size                    | size in MB                       | Maximum size (in MB, if not specified) of [AoF](https://redis.io/docs/latest/glossary#letter-a) file (minimum value is 10 GB)              |\n| max_aof_load_time | time in seconds | Time limit in seconds to load a shard from an append-only file (AOF). If exceeded, an AOF rewrite is initiated to decrease future load time.\u003cbr /\u003eMinimum: 2700 seconds (45 minutes) \u003cbr /\u003eDefault: 3600 seconds (1 hour) |\n| max_client_pipeline                  | integer                          | Maximum commands in the proxy's pipeline per client connection (max value is 2047, default value is 200)                              |\n| max_connections                      | integer                          | Maximum client connections to the database's endpoint (default value is 0, which is unlimited)                                            |\n| max_shard_pipeline                   | integer                          | Maximum commands in the proxy's pipeline per shard connection (default value is 200)                                                  |\n| maxclients                           | integer                          | Controls the maximum client connections between the proxy and shards (default value is 10000)                                         |\n| metrics_export_all                   | `enabled`\u003cbr /\u003e `disabled`       | Activates the exporter to expose all shard metrics                                                                                    |\n| mkms                                 | `enabled`\u003cbr /\u003e `disabled`       | Activates multi-key multi-slot commands                                                                                               |\n| module_config_params | string | Configures module arguments at runtime. Enclose `module_config_params` within quotation marks. |\n| module_name | `search`\u003cbr /\u003e`ReJSON`\u003cbr /\u003e`graph`\u003cbr /\u003e`timeseries`\u003cbr /\u003e`bf`\u003cbr /\u003e`rg` | The module to configure with `module_config_params` |\n| mtls_allow_outdated_certs             | `enabled`\u003cbr /\u003e `disabled`       | If enabled, allows outdated certificates in mTLS connections                                   |\n| mtls_allow_weak_hashing              | `enabled`\u003cbr /\u003e `disabled`       | Activates weak hashing (less than 2048 bits) in mTLS connections                       |\n| oss_cluster                          | `enabled`\u003cbr /\u003e `disabled`       | Activates OSS cluster API                                                                                                             |\n| oss_cluster_api_preferred_ip_type    | `internal`\u003cbr /\u003e `external`      | IP type for the endpoint and database in the OSS cluster API (default is internal)                                     |\n| repl_backlog                         | size in MB\u003cbr /\u003e `auto`          | Size of the replication buffer                                                                                        |\n| repl_diskless                        | `enabled`\u003cbr /\u003e `disabled`\u003cbr /\u003e `default`   | Activates or deactivates diskless replication (defaults to the cluster setting)                                          |\n| repl_timeout                         | time in seconds                  | Replication timeout (in seconds)                                                                                                      |\n| resp3 | `enabled`\u003cbr /\u003e `disabled` | Enables or deactivates RESP3 support (defaults to `enabled`) |\n| schedpolicy                          | `cmp`\u003cbr /\u003e `mru`\u003cbr /\u003e `spread`\u003cbr /\u003e `mnp` | Controls how server-side connections are used when forwarding traffic to shards                                           |\n| skip_import_analyze                  | `enabled`\u003cbr /\u003e `disabled`       | Skips the analyzing step when importing a database                                                                                    |\n| slave_buffer                         | `auto`\u003cbr /\u003evalue in MB\u003cbr /\u003e hard:soft:time | Redis replica output buffer limits\u003cbr /\u003e• `auto`: dynamically adjusts the buffer limit based on the shard’s current used memory\u003cbr /\u003e• value in MB: sets the buffer limit in MB\u003cbr /\u003e• hard:soft:time: sets the hard limit (maximum buffer size in MB), soft limit in MB, and the time in seconds that the soft limit can be exceeded |\n| slave_ha                             | `enabled`\u003cbr /\u003e `disabled`       | Activates or deactivates replica high availability (defaults to the cluster setting)                                                      |\n| slave_ha_priority                    | integer                          | Priority of the database in the replica high-availability mechanism                                                                           |\n| syncer_mode                          | `distributed`\u003cbr /\u003e `centralized`| Configures syncer to run in distributed or centralized mode. For distributed syncer, the DMC policy must be all-nodes or all-master-nodes |\n| syncer_monitoring                    | `enabled`\u003cbr /\u003e `disabled`       | Activates syncer monitoring                                                                                                           |\n\n| XADD behavior mode | Description |\n| - | - |\n| liberal | XADD succeeds with any valid ID (not recommended, allows duplicate IDs) |\n| semi-strict | Allows a full ID. Partial IDs are completed with the unique database instance ID (not recommended, allows duplicate IDs). |\n| strict | XADD fails if a full ID is given. Partial IDs are completed using the unique database instance ID. |\n\n### Returns\n\nReturns `Finished successfully` if the database configuration was changed. Otherwise, it returns an error.\n\nUse [`rladmin info db`](https://redis.io/docs/latest/operate/rs/references/cli-utilities/rladmin/info#info-db) to verify the database configuration was changed.\n\n### Example\n\n``` sh\n$ rladmin tune db db:4 repl_timeout 300\nTuning database: o\nFinished successfully\n$ rladmin info db db:4 | grep repl_timeout\n  repl_timeout: 300 seconds\n```\n\n## `tune node`\n\nConfigures node parameters.\n\n``` sh\ntune node  { \u003cid\u003e | all }\n     [ max_listeners \u003cvalue\u003e ]\n     [ max_redis_forks \u003cvalue\u003e ]\n     [ max_redis_servers \u003cvalue\u003e ]\n     [ max_slave_full_syncs \u003cvalue\u003e ]\n     [ quorum_only { enabled | disabled } ]\n```\n\n### Parameters\n\n| Parameter            | Type/Value | Description                                                                                                                      |\n|----------------------|------------|----------------------------------------------------------------------------------------------------------------------------------|\n| id                   | integer    | ID of the specified node                                                                                                         |\n| all                  |            | Configures settings for all nodes                                                                                                |\n| max_listeners        | integer    | Maximum number of endpoints that may be bound to the node                                                                        |\n| max_redis_forks      | integer    | Maximum number of background processes forked from shards that may exist on the node at any given time                           |\n| max_redis_servers    | integer    | Maximum number of shards allowed to reside on the node                                                                           |\n| max_slave_full_syncs | integer    | Maximum number of simultaneous replica full-syncs that may be running at any given time (0: Unlimited, -1: Use cluster settings) |\n| quorum_only          | `enabled`\u003cbr /\u003e `disabled` | If activated, configures the node as a [quorum-only node](https://redis.io/docs/latest/glossary#letter-p)                         |\n\n### Returns\n\nReturns `Finished successfully` if the node configuration was changed. Otherwise, it returns an error.\n\nUse [`rladmin info node`](https://redis.io/docs/latest/operate/rs/references/cli-utilities/rladmin/info#info-node) to verify the node configuration was changed.\n\n### Example\n\n``` sh\n$ rladmin tune node 3 max_redis_servers 120\nFinished successfully\n$ rladmin info node 3 | grep \"max redis servers\"\n    max redis servers: 120\n```\n\n## `tune proxy`\n\nConfigures proxy parameters.\n\n``` sh\nrladmin tune proxy { \u003cid\u003e | all }\n        [ mode { static | dynamic } ]\n        [ threads \u003cvalue\u003e ]\n        [ max_threads \u003cvalue\u003e ]\n        [ scale_threshold \u003cvalue\u003e ]\n        [ scale_duration \u003cseconds\u003e ]\n```\n\n### Parameters\n\n| Parameter       | Type/Value                 | Description                                                                         |\n|-----------------|----------------------------|-------------------------------------------------------------------------------------|\n| id              | integer                    | ID of the specified proxy                                                           |\n| all             |                            | Configures settings for all proxies                                                 |\n| max_threads     | integer, (range:\u0026nbsp;1-255) | Maximum number of threads allowed                                                   |\n| mode            | `static`\u003cbr /\u003e `dynamic` | Determines if the proxy automatically adjusts the number of threads based on load size  |\n| scale_duration  | time in seconds, (range:\u0026nbsp;10-300) | Time of scale_threshold CPU utilization before the automatic proxy automatically scales |\n| scale_threshold | percentage, (range:\u0026nbsp;50-99) | CPU utilization threshold that triggers spawning new threads                        |\n| threads         | integer, (range:\u0026nbsp;1-255) | Initial number of threads created at startup                                        |\n\n### Returns\n\nReturns `OK` if the proxy configuration was changed. Otherwise, it returns an error.\n\nUse [`rladmin info proxy`](https://redis.io/docs/latest/operate/rs/references/cli-utilities/rladmin/info#info-proxy) to verify the proxy configuration was changed.\n\n### Example\n\n``` sh\n$ rladmin tune proxy 2 scale_threshold 75\nConfiguring proxies:\n  - proxy:2: ok\n$ rladmin info proxy 2 | grep scale_threshold\n    scale_threshold: 75 (%)\n```\n",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-10-21T09:46:20-07:00"
}
