You can modify the configuration parameters of your DCS instance to optimize DCS performance based on your requirements.
For example, if you do not need data persistence, set appendonly to no.
After the instance configuration parameters are modified, the modification takes effect immediately without the need to manually restart the instance. For a cluster instance, the modification takes effect on all shards.
Table 1 describes the parameters. In most cases, retain the default values.
Parameter |
Description |
Value Range |
Default Value |
---|---|---|---|
timeout |
The maximum amount of time (in seconds) a connection between a client and the DCS instance can be allowed to remain idle before the connection is terminated. A setting of 0 means that this function is disabled. |
0–7200 seconds |
0 |
appendfsync |
Controls how often fsync() transfers cached data to the disk. Note that some OSs will perform a complete data transfer but some others only make a "best-effort" attempt. There are three settings: no: fsync() is never called. The OS will flush data when it is ready. This mode offers the highest performance. always: fsync() is called after every write to the AOF. This mode is very slow, but also very safe. everysec: fsync() is called once per second. This mode provides a compromise between safety and performance. |
|
everysec |
appendonly |
Indicates whether to log each modification of the instance. By default, data is written to disks asynchronously in Redis. If this function is disabled, recently-generated data might be lost in the event of a power failure. Options: yes: enabled no: disabled |
|
yes |
client-output-buffer-limit-slave-soft-seconds |
Number of seconds that the output buffer remains above client-output-buffer-slave-soft-limit before the client is disconnected. |
0–60 |
60 |
client-output-buffer-slave-hard-limit |
Hard limit (in bytes) on the output buffer of replica clients. Once the output buffer exceeds the hard limit, the client is immediately disconnected. |
Depends on the instance type and specifications. |
Depends on the instance type and specifications. |
client-output-buffer-slave-soft-limit |
Soft limit (in bytes) on the output buffer of replica clients. Once the output buffer exceeds the soft limit and continuously remains above the limit for the time specified by the client-output-buffer-limit-slave-soft-seconds parameter, the client is disconnected. |
Depends on the instance type and specifications. |
Depends on the instance type and specifications. |
maxmemory-policy |
The deletion policy to apply when the maxmemory limit is reached. Options: volatile-lru: Evict keys by trying to remove the less recently used (LRU) keys first, but only among keys that have an expire set. (Recommended) allkeys-lru: Evict keys by trying to remove the LRU keys first. volatile-random: evict keys randomly, but only evict keys with an expire set. allkeys-random: Evict keys randomly. volatile-ttl: Evict keys with an expire set, and try to evict keys with a shorter time to live (TTL) first. noeviction: Do not delete any keys and only return errors when the memory limit was reached. volatile-lfu: Evict keys by trying to remove the less frequently used (LFU) keys first, but only among keys that have an expire set. allkeys-lfu: Evict keys by trying to remove the LFU keys first. |
Depends on the instance version. |
Depends on the instance version and type. |
lua-time-limit |
Maximum time allowed for executing a Lua script (in milliseconds). |
100–5000 |
5,000 |
master-read-only |
Sets the instance to be read-only. All write operations will fail. |
|
no |
maxclients |
The maximum number of clients allowed to be concurrently connected to a DCS instance. |
Depends on the instance type and specifications. |
Depends on the instance type and specifications. |
proto-max-bulk-len |
Maximum size of a single element request (in bytes). |
1,048,576–536,870,912 |
536,870,912 |
repl-backlog-size |
The replication backlog size (bytes). The backlog is a buffer that accumulates replica data when replicas are disconnected from the master. When a replica reconnects, a partial synchronization is performed to synchronize the data that was missed while replicas were disconnected. |
16,384–1,073,741,824 |
1,048,576 |
repl-backlog-ttl |
The amount of time, in seconds, before the backlog buffer is released, starting from the last a replica was disconnected. The value 0 indicates that the backlog is never released. |
0–604,800 |
3,600 |
repl-timeout |
Replication timeout (in seconds). |
30–3,600 |
60 |
hash-max-ziplist-entries |
Hashes are encoded using a memory efficient data structure when the number of entries in hashes is less than the value of this parameter. |
1–10,000 |
512 |
hash-max-ziplist-value |
Hashes are encoded using a memory efficient data structure when the biggest entry in hashes does not exceed the length threshold indicated by this parameter. |
1–10,000 |
64 |
set-max-intset-entries |
When a set is composed of just strings that happen to be integers in radix 10 in the range of 64 bit signed integers, sets are encoded using a memory efficient data structure. |
1–10,000 |
512 |
zset-max-ziplist-entries |
Sorted sets are encoded using a memory efficient data structure when the number of entries in sorted sets is less than the value of this parameter. |
1–10,000 |
128 |
zset-max-ziplist-value |
Sorted sets are encoded using a memory efficient data structure when the biggest entry in sorted sets does not exceed the length threshold indicated by this parameter. |
1–10,000 |
64 |
latency-monitor-threshold |
Threshold time in latency monitoring. Unit: millisecond. Set to 0: Latency monitoring is disabled. Set to more than 0: All with at least this many milliseconds of latency will be logged. By running the LATENCY command, you can perform operations related to latency monitoring, such as obtaining statistical data, and configuring and enabling latency monitoring. |
0–86,400,000 ms |
0 |
notify-keyspace-events |
Controls which keyspace events notifications are enabled for. If the value is an empty string, this function is disabled. A combination of different values can be used to enable notifications for multiple event types. Possible values: K: Keyspace events, published with the __keyspace@__ prefix. E: Keyevent events, published with __keyevent@__ prefix g: Generic commands (non-type specific) such as DEL, EXPIRE, and RENAME $: String commands l: List commands s: Set commands h: Hash commands z: Sorted set commands x: Expired events (events generated every time a key expires) e: Evicted events (events generated when a key is evicted for maxmemory) A: an alias for "g$lshzxe" The parameter value must contain either K or E. A cannot be used together with any of the characters in "g$lshzxe". For example, the value Kl means that Redis will notify Pub/Sub clients about keyspace events and list commands. The value AKE means Redis will notify Pub/Sub clients about all events. |
See the parameter description. |
Ex |
slowlog-log-slower-than |
Redis records queries that exceed a specified execution time. slowlog-log-slower-than is the maximum time allowed, in microseconds, for command execution. If this threshold is exceeded, Redis will record the query. |
0–1,000,000 |
10,000 |
slowlog-max-len |
The maximum allowed number of slow queries that can be logged. Slow query log consumes memory, but you can reclaim this memory by running the SLOWLOG RESET command. |
0–1000 |
128 |
The following describes how to change the value of the appendonly parameter:
Currently, the appendonly and appendfsync parameters can be modified on the console only for master/standby and Redis 4.0/5.0 Redis Cluster instances.