This topic describes the specifications of cluster master-replica instances of Redis Open-Source Edition. These specifications include the memory capacity, maximum number of connections, maximum bandwidth, and queries per second (QPS) reference value.
Instance specifications
Each data shard (hereinafter referred to as "shard") of a cluster master-replica instance consists of one master node and one replica node.
The instance specifications offer various options for the number of shards: 2 shards, 4 shards, 8 shards, 16 shards, 32 shards, 64 shards, 128 shards, and 256 shards.
2 shards
For this series of instance specifications, the number of shards is 2, the number of CPU cores is 4 (2 per shard), and the maximum number of new connections per second is 20,000.
Specification type
InstanceClass value (used in API operations)
Memory per shard (GB)
Proxy mode: Maximum connections
Direct connection mode: Maximum connections
Total bandwidth (Mbit/s)
Bandwidth per shard (Mbit/s)
QPS reference value
2 GB cluster instance (2 shards)
redis.logic.sharding.1g.2db.0rodb.4proxy.default
1
480,000
20,000
96
48
200,000
4 GB cluster instance (2 shards)
redis.logic.sharding.2g.2db.0rodb.4proxy.default
2
480,000
20,000
192
96
200,000
8 GB cluster instance (2 shards)
redis.logic.sharding.4g.2db.0rodb.4proxy.default
4
480,000
20,000
192
96
200,000
16 GB cluster instance (2 shards)
redis.logic.sharding.8g.2db.0rodb.4proxy.default
8
480,000
20,000
192
96
200,000
32 GB cluster instance (2 shards)
redis.logic.sharding.16g.2db.0rodb.4proxy.default
16
480,000
20,000
192
96
200,000
4 shards
For this series of instance specifications, the number of shards is 4, the number of CPU cores is 8 (2 per shard), and the maximum number of new connections per second is 40,000.
Specification type
InstanceClass value (used in API operations)
Memory per shard (GB)
Proxy mode: Maximum connections
Direct connection mode: Maximum connections
Total bandwidth (Mbit/s)
Bandwidth per shard (Mbit/s)
QPS reference value
4 GB cluster instance (4 shards)
redis.logic.sharding.1g.4db.0rodb.4proxy.default
1
480,000
40,000
192
48
400,000
8 GB cluster instance (4 shards)
redis.logic.sharding.2g.4db.0rodb.4proxy.default
2
480,000
40,000
384
96
400,000
16 GB cluster instance (4 shards)
redis.logic.sharding.4g.4db.0rodb.4proxy.default
4
480,000
40,000
384
96
400,000
24 GB cluster instance (4 shards)
redis.logic.sharding.6g.4db.0rodb.4proxy.default
6
480,000
40,000
384
96
400,000
32 GB cluster instance (4 shards)
redis.logic.sharding.8g.4db.0rodb.4proxy.default
8
480,000
40,000
384
96
400,000
64 GB cluster instance (4 shards)
redis.logic.sharding.16g.4db.0rodb.4proxy.default
16
480,000
40,000
384
96
400,000
128 GB cluster instance (4 shards)
redis.logic.sharding.32g.4db.0rodb.8proxy.default
32
480,000
40,000
384
96
400,000
8 shards
For this series of instance specifications, the number of shards is 8, the number of CPU cores is 16 (2 per shard), and the maximum number of new connections per second is 50,000.
Specification type
InstanceClass value (used in API operations)
Memory per shard (GB)
Proxy mode: Maximum connections
Direct connection mode: Maximum connections
Total bandwidth (Mbit/s)
Bandwidth per shard (Mbit/s)
QPS reference value
8 GB cluster instance (8 shards)
redis.logic.sharding.1g.8db.0rodb.8proxy.default
1
500,000
80,000
384
48
800,000
16 GB cluster instance (8 shards)
redis.logic.sharding.2g.8db.0rodb.8proxy.default
2
500,000
80,000
768
96
800,000
32 GB cluster instance (8 shards)
redis.logic.sharding.4g.8db.0rodb.8proxy.default
4
500,000
80,000
768
96
800,000
48 GB cluster instance (8 shards)
redis.logic.sharding.6g.8db.0rodb.8proxy.default
6
500,000
80,000
768
96
800,000
64 GB cluster instance (8 shards)
redis.logic.sharding.8g.8db.0rodb.8proxy.default
8
500,000
80,000
768
96
800,000
128 GB cluster instance (8 shards)
redis.logic.sharding.16g.8db.0rodb.8proxy.default
16
500,000
80,000
768
96
800,000
16 shards
For this series of instance specifications, the number of shards is 16, the number of CPU cores is 32 (2 per shard), and the maximum number of new connections per second is 50,000.
Specification type
InstanceClass value (used in API operations)
Memory per shard (GB)
Proxy mode: Maximum connections
Direct connection mode: Maximum connections
Total bandwidth (Mbit/s)
Bandwidth per shard (Mbit/s)
QPS reference value
16 GB cluster instance (16 shards)
redis.logic.sharding.1g.16db.0rodb.16proxy.default
1
500,000
160,000
768
48
1,600,000
32 GB cluster instance (16 shards)
redis.logic.sharding.2g.16db.0rodb.16proxy.default
2
500,000
160,000
1,536
96
1,600,000
64 GB cluster instance (16 shards)
redis.logic.sharding.4g.16db.0rodb.16proxy.default
4
500,000
160,000
1,536
96
1,600,000
96 GB cluster instance (16 shards)
redis.logic.sharding.6g.16db.0rodb.16proxy.default
6
500,000
160,000
1,536
96
1,600,000
128 GB cluster instance (16 shards)
redis.logic.sharding.8g.16db.0rodb.16proxy.default
8
500,000
160,000
1,536
96
1,600,000
256 GB cluster instance (16 shards)
redis.logic.sharding.16g.16db.0rodb.16proxy.default
16
500,000
160,000
1,536
96
1,600,000
32 shards
For this series of instance specifications, the number of shards is 32, the number of CPU cores is 64 (2 per shard), and the maximum number of new connections per second is 50,000.
Specification type
InstanceClass value (used in API operations)
Memory per shard (GB)
Proxy mode: Maximum connections
Direct connection mode: Maximum connections
Total bandwidth (Mbit/s)
Bandwidth per shard (Mbit/s)
QPS reference value
64 GB cluster instance (32 shards)
redis.logic.sharding.2g.32db.0rodb.32proxy.default
2
500,000
320,000
2,048
96
3,200,000
128 GB cluster instance (32 shards)
redis.logic.sharding.4g.32db.0rodb.32proxy.default
4
500,000
320,000
2,048
96
3,200,000
192 GB cluster instance (32 shards)
redis.logic.sharding.6g.32db.0rodb.32proxy.default
6
500,000
320,000
2,048
96
3,200,000
256 GB cluster instance (32 shards)
redis.logic.sharding.8g.32db.0rodb.32proxy.default
8
500,000
320,000
2,048
96
3,200,000
512 GB cluster instance (32 shards)
redis.logic.sharding.16g.32db.0rodb.32proxy.default
16
500,000
320,000
2,048
96
3,200,000
64 shards
For this series of instance specifications, the number of shards is 64, the number of CPU cores is 128 (2 per shard), and the maximum number of new connections per second is 50,000.
Specification type
InstanceClass value (used in API operations)
Memory per shard (GB)
Proxy mode: Maximum connections
Direct connection mode: Maximum connections
Total bandwidth (Mbit/s)
Bandwidth per shard (Mbit/s)
QPS reference value
128 GB cluster instance (64 shards)
redis.logic.sharding.2g.64db.0rodb.64proxy.default
2
500,000
640,000
2,048
96
6,400,000
256 GB cluster instance (64 shards)
redis.logic.sharding.4g.64db.0rodb.64proxy.default
4
500,000
640,000
2,048
96
6,400,000
512 GB cluster instance (64 shards)
redis.logic.sharding.8g.64db.0rodb.64proxy.default
8
500,000
640,000
2,048
96
6,400,000
128 shards
For this series of instance specifications, the number of shards is 128, the number of CPU cores is 256 (2 per shard), and the maximum number of new connections per second is 50,000.
Specification type
InstanceClass value (used in API operations)
Memory per shard (GB)
Proxy mode: Maximum connections
Direct connection mode: Maximum connections
Total bandwidth (Mbit/s)
Bandwidth per shard (Mbit/s)
QPS reference value
512 GB cluster instance (128 shards)
redis.logic.sharding.4g.128db.0rodb.128proxy.default
4
500,000
1,280,000
2,048
96
12,800,000
256 shards
For this series of instance specifications, the number of shards is 256, the number of CPU cores is 512 (2 per shard), and the maximum number of new connections per second is 50,000.
Specification type
InstanceClass value (used in API operations)
Memory per shard (GB)
Proxy mode: Maximum connections
Direct connection mode: Maximum connections
Total bandwidth (Mbit/s)
Bandwidth per shard (Mbit/s)
QPS reference value
1,024 GB cluster instance (256 shards)
redis.logic.sharding.4g.256db.0rodb.256proxy.default
4
500,000
2,560,000
2,048
96
25,600,000
2,048 GB cluster instance (256 shards)
redis.logic.sharding.8g.256db.0rodb.256proxy.default
8
500,000
2,560,000
2,048
96
25,600,000
4,096 GB cluster instance (256 shards)
redis.logic.sharding.16g.256db.0rodb.256proxy.default
16
500,000
2,560,000
2,048
96
25,600,000
Notes about CPU cores
To ensure service stability, the system reserves a CPU core to process background tasks . In a cluster instance or a read/write splitting instance, the system reserves a CPU core for each shard or read replica to process background tasks.
Calculation rules for bandwidth values
Each bandwidth value in the preceding tables represents the maximum bandwidth for an instance of the corresponding instance type, which is the combined bandwidth of all shards or nodes in the instance. Each shard has the following bandwidth limits:
Redis Open-Source Edition: If the memory of each shard is less than or equal to 1 GB, the maximum bandwidth of each shard is 48 Mbit/s. If the memory of each shard is greater than 1 GB, the maximum bandwidth of each shard is 96 Mbit/s.
Tair (Enterprise Edition): The maximum bandwidth of each shard is 96 Mbit/s.
If the default proxy endpoint is used by a cluster instance, the maximum bandwidth for the cluster instance is 2,048 Mbit/s. After the upper limit is reached, the bandwidth cannot be increased even if you add more shards to the cluster instance.
To handle network traffic peaks, you can enable the direct connection mode. For more information, see Enable the direct connection mode. The direct connection mode is applicable only to cluster instances. After you enable the direct connection mode for a cluster instance, take note of the following items:
The maximum number of connections to the instance is equal to the maximum number of connections to a single shard multiplied by the number of shards. The maximum number of connections to a single shard in a Redis Open-Source Edition instance is 10,000. The maximum number of connections to a single shard in a Tair (Enterprise Edition) instance is 30,000.
The maximum bandwidth of the instance is equal to the maximum bandwidth of a single shard multiplied by the number of shards. For example, if a cluster instance contains 128 shards and each shard is allocated more than 1 GB of memory and a maximum bandwidth of 96 Mbit/s, the maximum bandwidth of the instance is 12,288 Mbit/s after you enable the direct connection mode.
The bandwidth applies to the upstream and downstream bandwidths. For example, if the bandwidth of an instance is 10 Mbit/s, the upstream and downstream bandwidths of the instance are both 10 Mbit/s.
NoteIf your instance has unexpected or scheduled traffic peaks, you can adjust the bandwidth of the instance. For more information, see Manually increase the bandwidth of an instance.
Each bandwidth value in the preceding tables is the internal bandwidth of the Redis instance. The public bandwidth of an instance is determined by the internal bandwidth and is limited by the bandwidth of the connection between the instance and the client. To maximize performance, we recommend that you connect to the instance over an internal network.
Calculation rules for connections
Category | Description |
Maximum number of connections |
|
Maximum number of new connections per second | The maximum number of new connections per second refers to the upper limit on the number of connections that can be established per second. For example, assume that the maximum number of new connections to an instance per second is 10,000, the maximum allowed number of connections to the instance is 50,000, and the actual number of connections at the Nth second after the instance starts to run is 12,000. In this case, the maximum number of connections at the (N+1)th second is 22,000. This value is calculated by using the following formula: 12,000 + 10,000. Note If the instance is connected in direct connection mode, connection performance degrades because proxy nodes are bypassed. For more information about the direct connection mode, see Enable the direct connection mode. The maximum number of new connections to a shard per second is 2,000. For example, if an instance has four shards, the maximum number of new connections per second is 8,000. |
FAQ
Why is the actual bandwidth of my instance different from the bandwidth described in this topic?
The bandwidths of specific instance types may be adjusted after the service is upgraded. If the actual bandwidth of your instance is different from that described in this topic, you can change the configurations of your instance by selecting the same instance type to update the bandwidth. The price of your instance remains unchanged after the configuration change. For more information, see Change the configurations of an instance.
Why am I unable to write data to a cluster instance when instance memory is not exhausted?
This is because the instance contains exhausted shards. Redis uses the hash algorithm to evenly write data to different shards. If the instance contains large keys, resources are unevenly distributed in the instance and the shards that house these large keys may even be exhausted. In this case, specific write requests to the instance may fail.
You can use the Performance Monitor feature to check and optimize the performance of each shard. For more information, see View the performance metrics of nodes in a Tair cluster instance.