All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Cluster master-replica instances

Last Updated:Oct 24, 2024

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.

    Note

    If 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

  • Proxy mode: The maximum number of connections to an instance is 500,000. After the upper limit is reached, subsequent connections cannot be established even if you add more shards or nodes.

    Note

    If your instance is created before March 1, 2020 and runs in proxy mode, the maximum number of connections to the instance is 200,000.

  • Direct connection mode: The maximum number of connections to a single shard is 10,000. The maximum number of connections to an instance can be calculated by using the following formula: Number of shards × 10,000.

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.