Updated on 2024-01-23 GMT+08:00

Redis 4.0 and 5.0 Instance Specifications

This section describes DCS Redis 4.0 and 5.0 instance specifications, including the total memory, available memory, maximum number of connections allowed, maximum/assured bandwidth, and reference performance.

The following metrics are related to the instance specifications:

  • Used memory: You can check the memory usage of an instance by viewing the Memory Usage and Used Memory metrics.
  • Maximum connections: The maximum number of connections allowed is the maximum number of clients that can be connected to an instance. To check the number of connections to an instance, view the Connected Clients metric. After an instance is created, you can change the maximum number of connections of the instance by modifying the maxclients parameter on the Instance Configuration > Parameters page on the console. This parameter cannot be modified for Proxy Cluster instances.
  • QPS represents queries per second, which is the number of commands processed per second. For details about QPS testing, see the Performance White Paper.
  • Bandwidth: You can view the Flow Control Times metric to check whether the bandwidth has exceeded the limit. You can also check the Bandwidth Usage metric. This metric is for reference only, because it may be higher than 100%. For details, see Why Does Bandwidth Usage Exceed 100%?
  • DCS Redis 4.0 and 5.0 instances are available in single-node, master/standby, Proxy Cluster, Redis Cluster, and read/write splitting types.
  • DCS Redis 4.0 and 5.0 instances support x86 and Arm architectures. x86 is recommended. Arm is unavailable in some regions.
  • The specifications available on the console vary by region.

Single-Node Instances

Single-node DCS Redis 4.0 or 5.0 instances support x86 and Arm CPU architectures. The following table lists the specifications.

Table 1 Specifications of single-node DCS Redis 4.0 or 5.0 instances

Total Memory

(GB)

Available Memory

(GB)

Max. Connections (Default/Limit)

(Count)

Assured/Maximum Bandwidth

(Mbit/s)

Reference Performance

(QPS)

Specification Code (spec_code in the API)

0.125

0.125

10,000/10,000

40/40

80,000

x86: redis.single.xu1.tiny.128

Arm: redis.single.au1.tiny.128

0.25

0.25

10,000/10,000

80/80

80,000

x86: redis.single.xu1.tiny.256

Arm: redis.single.au1.tiny.256

0.5

0.5

10,000/10,000

80/80

80,000

x86: redis.single.xu1.tiny.512

Arm: redis.single.au1.tiny.512

1

1

10,000/50,000

80/80

80,000

x86: redis.single.xu1.large.1

Arm: redis.single.au1.large.1

2

2

10,000/50,000

128/128

80,000

x86: redis.single.xu1.large.2

Arm: redis.single.au1.large.2

4

4

10,000/50,000

192/192

80,000

x86: redis.single.xu1.large.4

Arm: redis.single.au1.large.4

8

8

10,000/50,000

192/192

100,000

x86: redis.single.xu1.large.8

Arm: redis.single.au1.large.8

16

16

10,000/50,000

256/256

100,000

x86: redis.single.xu1.large.16

Arm: redis.single.au1.large.16

24

24

10,000/50,000

256/256

100,000

x86: redis.single.xu1.large.24

Arm: redis.single.au1.large.24

32

32

10,000/50,000

256/256

100,000

x86: redis.single.xu1.large.32

Arm: redis.single.au1.large.32

48

48

10,000/50,000

256/256

100,000

x86: redis.single.xu1.large.48

Arm: redis.single.au1.large.48

64

64

10,000/50,000

384/384

100,000

x86: redis.single.xu1.large.64

Arm: redis.single.au1.large.64

Master/Standby Instances

Master/standby instances support x86 and Arm CPU architectures. An instance can have 2 to 5 replicas. For example, the specifications of an Arm-based instance can be Arm | master/standby | 2 replicas or Arm | master/standby | 5 replicas. By default, a master/standby instance has one master node and two replicas (including the master replica).

Given the same memory size, the differences between x86-based master/standby instances, Arm-based master/standby instances, and master/standby instances with multiple replicas are as follows:

  • The available memory, maximum number of connections, assured/maximum bandwidth, and QPS are the same.
  • Specification code: Table 2 only lists the specification names of x86- and Arm-based instances. The specification names reflect the number of replicas, for example, redis.ha.au1.large.r2.8 (master/standby | Arm | 2 replicas | 8 GB) and redis.ha.au1.large.r3.8 (master/standby | Arm | 3 replicas | 8 GB).
  • IP addresses: Number of occupied IP addresses = Number of master nodes x Number of replicas. For example:

    2 replicas: Number of occupied IP addresses = 1 x 2 = 2

    3 replicas: Number of occupied IP addresses = 1 x 3 = 3

Table 2 Specifications of master/standby DCS Redis 4.0 or 5.0 instances

Total Memory

(GB)

Available Memory

(GB)

Max. Connections (Default/Limit)

(Count)

Assured/Maximum Bandwidth

(Mbit/s)

Reference Performance

(QPS)

Specification Code (spec_code in the API)

0.125

0.125

10,000/10,000

40/40

80,000

x86: redis.ha.xu1.tiny.r2.128

Arm: redis.ha.au1.tiny.r2.128

0.25

0.25

10,000/10,000

80/80

80,000

x86: redis.ha.xu1.tiny.r2.256

Arm: redis.ha.au1.tiny.r2.256

0.5

0.5

10,000/10,000

80/80

80,000

x86: redis.ha.xu1.tiny.r2.512

Arm: redis.ha.au1.tiny.r2.512

1

1

10,000/50,000

80/80

80,000

x86: redis.ha.xu1.large.r2.1

Arm: redis.ha.au1.large.r2.1

2

2

10,000/50,000

128/128

80,000

x86: redis.ha.xu1.large.r2.2

Arm: redis.ha.au1.large.r2.2

4

4

10,000/50,000

192/192

80,000

x86: redis.ha.xu1.large.r2.4

Arm: redis.ha.au1.large.r2.4

8

8

10,000/50,000

192/192

100,000

x86: redis.ha.xu1.large.r2.8

Arm: redis.ha.au1.large.r2.8

16

16

10,000/50,000

256/256

100,000

x86: redis.ha.xu1.large.r2.16

Arm: redis.ha.au1.large.r2.16

24

24

10,000/50,000

256/256

100,000

x86: redis.ha.xu1.large.r2.24

Arm: redis.ha.au1.large.r2.24

32

32

10,000/50,000

256/256

100,000

x86: redis.ha.xu1.large.r2.32

Arm: redis.ha.au1.large.r2.32

48

48

10,000/50,000

256/256

100,000

x86: redis.ha.xu1.large.r2.48

Arm: redis.ha.au1.large.r2.48

64

64

10,000/50,000

384/384

100,000

x86: redis.ha.xu1.large.r2.64

Arm: redis.ha.au1.large.r2.64

Proxy Cluster Instances

Proxy Cluster instances support x86 and Arm CPU architectures. Table 3 lists the specifications.

Proxy Cluster instances do not support customization of the number of replicas. Each shard has two replicas by default. For details about the default number of shards, see Table 2. When buying an instance, you can customize the size of a single shard.

  • The following table lists only the Proxy Cluster instance specifications with default shards. If you customize shards, see the maximum number of connections, assured/maximum bandwidth, and product specification code (flavor) in the Instance Specification table on the Buy DCS Instance page of the DCS console.
  • The maximum connections of a cluster is for the entire instance, and not for a single shard. Maximum connections of a single shard = Maximum connections of an instance/Number of shards.
  • The maximum bandwidth and assured bandwidth of a cluster is for the entire instance, and not for a single shard. The relationship between the instance bandwidth and the bandwidth of a single shard is as follows:
    • Instance bandwidth = Bandwidth of a single shard x Number of shards
    • For a cluster instance, if the memory of a single shard is 1 GB, the bandwidth of a single shard is 384 Mbit/s. If the memory of a single shard is greater than 1 GB, the bandwidth of a single shard is 768 Mbit/s.
    • The upper limit of the bandwidth of a Proxy Cluster instance is 10,000 Mbit/s. That is, even if the bandwidth of a single shard multiplied by the number of shards is greater than 10,000 Mbit/s, the bandwidth of the instance is still 10,000 Mbit/s.
Table 3 Specifications of Proxy Cluster DCS Redis 4.0 and 5.0 instances

Specification

(GB)

Available Memory

(GB)

Shards (Master Nodes)

Max. Connections (Default/Limit)

(Count)

Assured/Maximum Bandwidth

(Mbit/s)

Reference Performance

(QPS)

Specification Code (spec_code in the API)

4

4

3

20,000/20,000

2304/2304

240,000

x86: redis.proxy.xu1.large.4

Arm: redis.proxy.au1.large.4

8

8

3

30,000/30,000

2304/2304

240,000

x86: redis.proxy.xu1.large.8

Arm: redis.proxy.au1.large.8

16

16

3

30,000/30,000

2304/2304

240,000

x86: redis.proxy.xu1.large.16

Arm: redis.proxy.au1.large.16

24

24

3

30,000/30,000

2304/2304

240,000

x86: redis.proxy.xu1.large.24

Arm: redis.proxy.au1.large.24

32

32

3

30,000/30,000

2304/2304

240,000

x86: redis.proxy.xu1.large.32

Arm: redis.proxy.au1.large.32

48

48

6

60,000/60,000

4608/4608

480,000

x86: redis.proxy.xu1.large.48

Arm: redis.proxy.au1.large.48

64

64

8

80,000/80,000

6144/6144

640,000

x86: redis.proxy.xu1.large.64

Arm: redis.proxy.au1.large.64

96

96

12

120,000/120,000

9216/9216

960,000

x86: redis.proxy.xu1.large.96

Arm: redis.proxy.au1.large.96

128

128

16

160,000/160,000

10,000/10,000

1,280,000

x86: redis.proxy.xu1.large.128

Arm: redis.proxy.au1.large.128

192

192

24

200,000/240,000

10,000/10,000

1,920,000

x86: redis.proxy.xu1.large.192

Arm: redis.proxy.au1.large.192

256

256

32

200,000/320,000

10,000/10,000

> 2,000,000

x86: redis.proxy.xu1.large.256

Arm: redis.proxy.au1.large.256

384

384

48

200,000/480,000

10,000/10,000

> 2,000,000

x86: redis.proxy.xu1.large.384

Arm: redis.proxy.au1.large.384

512

512

64

200,000/500,000

10,000/10,000

> 2,000,000

x86: redis.proxy.xu1.large.512

Arm: redis.proxy.au1.large.512

768

768

96

200,000/500,000

10,000/10,000

> 2,000,000

x86: redis.proxy.xu1.large.768

Arm: redis.proxy.au1.large.768

1024

1024

128

200,000/500,000

10,000/10,000

> 2,000,000

x86: redis.proxy.xu1.large.1024

Arm: redis.proxy.au1.large.1024

2048

2048

128

200,000/500,000

10,000/10,000

> 2,000,000

x86: redis.proxy.xu1.large.2048

Arm: redis.proxy.au1.large.2048

4096

4096

128

200,000/500,000

10,000/10,000

> 2,000,000

x86: redis.proxy.xu1.large.2048

Arm: redis.proxy.au1.large.2048

Redis Cluster Instances

Redis Cluster instances support x86 and Arm CPU architectures. Each instance can have 1 to 5 replicas. For example, the instance specifications can be Redis Cluster | 1 replica or Redis Cluster | 5 replicas. By default, a Redis Cluster instance has two replicas. A Redis Cluster instance with only 1 replica indicates that the replica quantity has been decreased.

Given the same memory size, the differences between x86-based Redis Cluster instances, Arm-based Redis Cluster instances, and Redis Cluster instances with multiple replicas are as follows:

  • The available memory, shard quantity (master node quantity), maximum number of connections, assured/maximum bandwidth, and QPS are the same.
  • Specification name: Table 4 only lists the specification names of x86- and Arm-based instances with 2 replicas. The specification names reflect the number of replicas, for example, redis.cluster.au1.large.r2.24 (Redis Cluster | Arm | 2 replicas | 24 GB) and redis.cluster.au1.large.r3.24 (Redis Cluster | Arm | 3 replicas | 24 GB).
  • IP addresses: Number of occupied IP addresses = Number of shards x Number of replicas. For example:

    24 GB | Redis Cluster | 3 replicas: Number of occupied IP addresses = 3 x 3 = 9

  • Available memory per node = Instance available memory/Master node quantity

    For example, a 24 GB x86-based instance has 24 GB available memory and 3 master nodes. The available memory per node is 24/3 = 8 GB.

  • Maximum connections limit per node = Maximum connections limit/Master node quantity For example:

    For example, a 24 GB x86-based instance has 3 master nodes and the maximum connections limit is 150,000. The maximum connections limit per node = 150,000/3 = 50,000.

  • The following table lists only the Redis Cluster instance specifications with default shards. If you customize shards, see the maximum number of connections, assured/maximum bandwidth, and product specification code (flavor) in the Instance Specification table the Buy DCS Instance page of the DCS console.
  • The maximum connections of a cluster is for the entire instance, and not for a single shard. Maximum connections of a single shard = Maximum connections of an instance/Number of shards.
  • The maximum bandwidth and assured bandwidth of a cluster is for the entire instance, and not for a single shard. The relationship between the instance bandwidth and the bandwidth of a single shard is as follows:
    • Instance bandwidth = Bandwidth of a single shard x Number of shards
    • For a cluster instance, if the memory of a single shard is 1 GB, the bandwidth of a single shard is 384 Mbit/s. If the memory of a single shard is greater than 1 GB, the bandwidth of a single shard is 768 Mbit/s.
Table 4 Specifications of Redis Cluster DCS Redis 4.0 and 5.0 instances

Total Memory

(GB)

Available Memory

(GB)

Shards (Master Nodes)

Max. Connections (Default/Limit)

(Count)

Assured/Maximum Bandwidth

(Mbit/s)

Reference Performance

(QPS)

Specification Code (spec_code in the API)

4

4

3

30,000

/150,000

2304/2304

240,000

x86: redis.cluster.xu1.large.r2.4

Arm: redis.cluster.au1.large.r2.4

8

8

3

30,000

/150,000

2304/2304

240,000

x86: redis.cluster.xu1.large.r2.8

Arm: redis.cluster.au1.large.r2.8

16

16

3

30,000

/150,000

2304/2304

240,000

x86: redis.cluster.xu1.large.r2.16

Arm: redis.cluster.au1.large.r2.16

24

24

3

30,000

/150,000

2304/2304

300,000

x86: redis.cluster.xu1.large.r2.24

Arm: redis.cluster.au1.large.r2.24

32

32

3

30,000

/150,000

2304/2304

300,000

x86: redis.cluster.xu1.large.r2.32

Arm: redis.cluster.au1.large.r2.32

48

48

6

60,000

/300,000

4608/4608

> 300,000

x86: redis.cluster.xu1.large.r2.48

Arm: redis.cluster.au1.large.r2.48

64

64

8

80,000

/400,000

6144/6144

500,000

x86: redis.cluster.xu1.large.r2.64

Arm: redis.cluster.au1.large.r2.64

96

96

12

120,000

/600,000

9216/9216

> 500,000

x86: redis.cluster.xu1.large.r2.96

Arm: redis.cluster.au1.large.r2.96

128

128

16

160,000

/800,000

12,288/12,288

1,000,000

x86: redis.cluster.xu1.large.r2.128

Arm: redis.cluster.au1.large.r2.128

192

192

24

240,000

/1,200,000

18,432/18,432

> 1,000,000

x86: redis.cluster.xu1.large.r2.192

Arm: redis.cluster.au1.large.r2.192

256

256

32

320,000

/1,600,000

24,576/24,576

> 2,000,000

x86: redis.cluster.xu1.large.r2.256

Arm: redis.cluster.au1.large.r2.256

384

384

48

480,000

/2,400,000

36,864/36,864

> 2,000,000

x86: redis.cluster.xu1.large.r2.384

Arm: redis.cluster.au1.large.r2.384

512

512

64

640,000

/3,200,000

49,152/49,152

> 2,000,000

x86: redis.cluster.xu1.large.r2.512

Arm: redis.cluster.au1.large.r2.512

768

768

96

960,000

/4,800,000

73,728/73,728

> 2,000,000

x86: redis.cluster.xu1.large.r2.768

Arm: redis.cluster.au1.large.r2.768

1024

1024

128

1,280,000

/6,400,000

98,304/98,304

> 2,000,000

x86: redis.cluster.xu1.large.r2.1024

Arm: redis.cluster.au1.large.r2.1024

Read/Write Splitting Instances

  • Currently, read/write splitting instances only support the x86 CPU architecture. Table 5 lists the specifications.
  • The maximum connections of a read/write splitting DCS Redis instance cannot be modified.
  • Bandwidth limit per Redis Server (MB/s) = Total bandwidth limit (MB/s)/Number of replicas (including masters)
  • Reference performance per node (QPS) = Reference performance (QPS)/Number of replicas (including masters)
  • When using read/write splitting instances, note the following:
    1. Read requests are sent to replicas. There is a delay when data is synchronized from the master to the replicas.

      If your services are sensitive to the delay, do not use read/write splitting instances. Instead, you can use master/standby or cluster instances.

    2. Read/write splitting is suitable when there are more read requests than write requests. If there are a lot of write requests, the master and replicas may be disconnected, or the data synchronization between them may fail after the disconnection. As a result, the read performance deteriorates.

      If your services are write-heavy, use master/standby or cluster instances.

    3. If a replica is faulty, it takes some time to synchronize all data from the master. During the synchronization, the replica does not provide services, and the read performance of the instance deteriorates.

      To reduce the impact of the interruption, use an instance with less than 32 GB memory. The smaller the memory, the shorter the time for full data synchronization between the master and replicas, and the smaller the impact of the interruption.

Table 5 Specifications of read/write splitting DCS Redis 4.0 or 5.0 instances

Specification

Available Memory (GB)

Replicas (Including Masters)

Max. Connections (Default/Limit)

Bandwidth Limit (MB/s)

Bandwidth Limit per Redis Server (MB/s)

Reference Performance (QPS)

Reference Performance per Node (QPS)

Specification Code (spec_code in the API)

8

8

2

20,000

192

96

160,000

80,000

redis.ha.xu1.large.p2.8

8

8

3

30,000

288

96

240,000

80,000

redis.ha.xu1.large.p3.8

8

8

4

40,000

384

96

320,000

80,000

redis.ha.xu1.large.p4.8

8

8

5

50,000

480

96

400,000

80,000

redis.ha.xu1.large.p5.8

8

8

6

60,000

576

96

480,000

80,000

redis.ha.xu1.large.p6.8

16

16

2

20,000

192

96

160,000

80,000

redis.ha.xu1.large.p2.16

16

16

3

30,000

288

96

240,000

80,000

redis.ha.xu1.large.p3.16

16

16

4

40,000

384

96

320,000

80,000

redis.ha.xu1.large.p4.16

16

16

5

50,000

480

96

400,000

80,000

redis.ha.xu1.large.p5.16

16

16

6

60,000

576

96

480,000

80,000

redis.ha.xu1.large.p6.16

32

32

2

20,000

192

96

160,000

80,000

redis.ha.xu1.large.p2.32

32

32

3

30,000

288

96

240,000

80,000

redis.ha.xu1.large.p3.32

32

32

4

40,000

384

96

320,000

80,000

redis.ha.xu1.large.p4.32

32

32

5

50,000

480

96

400,000

80,000

redis.ha.xu1.large.p5.32

32

32

6

60,000

576

96

480,000

80,000

redis.ha.xu1.large.p6.32

64

64

2

20,000

192

96

160,000

80,000

redis.ha.xu1.large.p2.64

64

64

3

30,000

288

96

240,000

80,000

redis.ha.xu1.large.p3.64

64

64

4

40,000

384

96

320,000

80,000

redis.ha.xu1.large.p4.64

64

64

5

50,000

480

96

400,000

80,000

redis.ha.xu1.large.p5.64

64

64

6

60,000

576

96

480,000

80,000

redis.ha.xu1.large.p6.64