This topic describes the specifications of cluster master-replica instances of the ApsaraDB for Redis Community Edition. These specifications include the memory capacity, maximum number of connections to each instance, maximum bandwidth, and queries per second (QPS) reference value.

Instance types

Instance types: 2 shards, 4 shards, 8 shards, 16 shards, 32 shards, 64 shards, 128 shards, and 256 shards.

  • 2 shards

    For these instance types, the number of data shards is 2, the number of CPU cores is 4 (each data shard provides 2 CPU cores), and the maximum number of new connections per second is 20,000.

    Instance typeInstanceClass value (used in API operations)Memory per shard (GB)Maximum number of connections in proxy modeMaximum number of connections in direct connection modeTotal bandwidth (Mbit/s)Bandwidth per shard (Mbit/s)QPS reference value
    2 GB cluster instance (2 shards)redis.logic.sharding.1g.2db.0rodb.4proxy.default1480,00020,0009648200,000
    4 GB cluster instance (2 shards)redis.logic.sharding.2g.2db.0rodb.4proxy.default2480,00020,00019296200,000
    8 GB cluster instance (2 shards)redis.logic.sharding.4g.2db.0rodb.4proxy.default4480,00020,00019296200,000
    16 GB cluster instance (2 shards) redis.logic.sharding.8g.2db.0rodb.4proxy.default8480,00020,00019296200,000
    32 GB cluster instance (2 shards) redis.logic.sharding.16g.2db.0rodb.4proxy.default16480,00020,00019296200,000
  • 4 shards

    For these instance types, the number of data shards is 4, the number of CPU cores is 8 (each data shard provides 2 CPU cores), and the maximum number of new connections per second is 40,000.

    Instance typeInstanceClass value (used in API operations)Memory per shard (GB)Maximum number of connections in proxy modeMaximum number of connections in direct connection modeTotal bandwidth (Mbit/s)Bandwidth per shard (Mbit/s)QPS reference value
    4 GB cluster instance (4 shards)redis.logic.sharding.1g.4db.0rodb.4proxy.default1480,00040,00019248400,000
    8 GB cluster instance (4 shards)redis.logic.sharding.2g.4db.0rodb.4proxy.default2480,00040,00038496400,000
    16 GB cluster instance (4 shards) redis.logic.sharding.4g.4db.0rodb.4proxy.default4480,00040,00038496400,000
    24 GB cluster instance (4 shards) redis.logic.sharding.6g.4db.0rodb.4proxy.default6480,00040,00038496400,000
    32 GB cluster instance (4 shards) redis.logic.sharding.8g.4db.0rodb.4proxy.default8480,00040,00038496400,000
    64 GB cluster instance (4 shards) redis.logic.sharding.16g.4db.0rodb.4proxy.default16480,00040,00038496400,000
    128 GB cluster instance (4 shards) redis.logic.sharding.32g.4db.0rodb.8proxy.default32480,00040,00038496400,000
  • 8 shards

    For these instance types, the number of data shards is 8, the number of CPU cores is 16 (each data shard provides 2 CPU cores), and the maximum number of new connections per second is 50,000.

    Instance typeInstanceClass value (used in API operations)Memory per shard (GB)Maximum number of connections in proxy modeMaximum number of connections in direct connection modeTotal bandwidth (Mbit/s)Bandwidth per shard (Mbit/s)QPS reference value
    8 GB cluster instance (8 shards)redis.logic.sharding.1g.8db.0rodb.8proxy.default1500,00080,00038448800,000
    16 GB cluster instance (8 shards)redis.logic.sharding.2g.8db.0rodb.8proxy.default2500,00080,00076896800,000
    32 GB cluster instance (8 shards)redis.logic.sharding.4g.8db.0rodb.8proxy.default4500,00080,00076896800,000
    48 GB cluster instance (8 shards)redis.logic.sharding.6g.8db.0rodb.8proxy.default6500,00080,00076896800,000
    64 GB cluster instance (8 shards)redis.logic.sharding.8g.8db.0rodb.8proxy.default8500,00080,00076896800,000
    128 GB cluster instance (8 shards)redis.logic.sharding.16g.8db.0rodb.8proxy.default16500,00080,00076896800,000
  • 16 shards

    For these instance types, the number of data shards is 16, the number of CPU cores is 32 (each data shard provides 2 CPU cores), and the maximum number of new connections per second is 50,000.

    Instance typeInstanceClass value (used in API operations)Memory per shard (GB)Maximum number of connections in proxy modeMaximum number of connections in direct connection modeTotal bandwidth (Mbit/s)Bandwidth per shard (Mbit/s)QPS reference value
    16 GB cluster instance (16 shards)redis.logic.sharding.1g.16db.0rodb.16proxy.default1500,000160,000768481,600,000
    32 GB cluster instance (16 shards)redis.logic.sharding.2g.16db.0rodb.16proxy.default2500,000160,0001,536961,600,000
    64 GB cluster instance (16 shards)redis.logic.sharding.4g.16db.0rodb.16proxy.default4500,000160,0001,536961,600,000
    96 GB cluster instance (16 shards)redis.logic.sharding.6g.16db.0rodb.16proxy.default6500,000160,0001,536961,600,000
    128 GB cluster instance (16 shards) redis.logic.sharding.8g.16db.0rodb.16proxy.default8500,000160,0001,536961,600,000
    256 GB cluster instance (16 shards)redis.logic.sharding.16g.16db.0rodb.16proxy.default16500,000160,0001,536961,600,000
  • 32 shards

    For these instance types, the number of data shards is 32, the number of CPU cores is 64 (each data shard provides 2 CPU cores), and the maximum number of new connections per second is 50,000.

    Instance typeInstanceClass value (used in API operations)Memory per shard (GB)Maximum number of connections in proxy modeMaximum number of connections in direct connection modeTotal bandwidth (Mbit/s)Bandwidth per shard (Mbit/s)QPS reference value
    64 GB cluster instance (32 shards)redis.logic.sharding.2g.32db.0rodb.32proxy.default2500,000320,0002,048963,200,000
    128 GB cluster instance (32 shards) redis.logic.sharding.4g.32db.0rodb.32proxy.default4500,000320,0002,048963,200,000
    192 GB cluster instance (32 shards) redis.logic.sharding.6g.32db.0rodb.32proxy.default6500,000320,0002,048963,200,000
    256 GB cluster instance (32 shards) redis.logic.sharding.8g.32db.0rodb.32proxy.default8500,000320,0002,048963,200,000
    512 GB cluster instance (32 shards) redis.logic.sharding.16g.32db.0rodb.32proxy.default16500,000320,0002,048963,200,000
  • 64 shards

    For these instance types, the number of data shards is 64, the number of CPU cores is 128 (each data shard provides 2 CPU cores), and the maximum number of new connections per second is 50,000.

    Instance typeInstanceClass value (used in API operations)Memory per shard (GB)Maximum number of connections in proxy modeMaximum number of connections in direct connection modeTotal bandwidth (Mbit/s)Bandwidth per shard (Mbit/s)QPS reference value
    128 GB cluster instance (64 shards)redis.logic.sharding.2g.64db.0rodb.64proxy.default2500,000640,0002,048966,400,000
    256 GB cluster instance (64 shards) redis.logic.sharding.4g.64db.0rodb.64proxy.default4500,000640,0002,048966,400,000
    512 GB cluster instance (64 shards) redis.logic.sharding.8g.64db.0rodb.64proxy.default8500,000640,0002,048966,400,000
  • 128 shards

    For these instance types, the number of data shards is 128, the number of CPU cores is 256 (each data shard provides 2 CPU cores), and the maximum number of new connections per second is 50,000.

    Instance typeInstanceClass value (used in API operations)Memory per shard (GB)Maximum number of connections in proxy modeMaximum number of connections in direct connection modeTotal bandwidth (Mbit/s)Bandwidth per shard (Mbit/s)QPS reference value
    512 GB cluster instance (128 shards)redis.logic.sharding.4g.128db.0rodb.128proxy.default4500,0001,280,0002,0489612,800,000
  • 256 shards

    For these instance types, the number of data shards is 256, the number of CPU cores is 512 (each data shard provides 2 CPU cores), and the maximum number of new connections per second is 50,000.

    Instance typeInstanceClass value (used in API operations)Memory per shard (GB)Maximum number of connections in proxy modeMaximum number of connections in direct connection modeTotal bandwidth (Mbit/s)Bandwidth per shard (Mbit/s)QPS reference value
    1024 GB cluster instance (256 shards)redis.logic.sharding.4g.256db.0rodb.256proxy.default4500,0002,560,0002,0489625,600,000
    2048 GB cluster instance (256 shards)redis.logic.sharding.8g.256db.0rodb.256proxy.default8500,0002,560,0002,0489625,600,000
    4096 GB cluster instance (256 shards)redis.logic.sharding.16g.256db.0rodb.256proxy.default16500,0002,560,0002,0489625,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 data shard or each read replica to process background tasks.

Calculation rules for bandwidth values

  • The bandwidth value in the preceding tables is the bandwidth of the instance. The bandwidth value is the sum of the bandwidths of all shards or nodes in the instance. Each shard has the following bandwidth limits:
    • Community 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.
    • Enhanced Edition (Tair): The maximum bandwidth of each shard is 96 Mbit/s.
  • If the default proxy endpoint is used by a cluster instance, the upper limit of 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, take note of the following items:
    • The upper limit of connections is equal to the maximum number of connections for a single shard multiplied by the number of shards. The maximum number of connections for a single shard in Community Edition is 10,000. The maximum number of connections for a single shard in Enhanced Edition (Tair) is 30,000.
    • The upper limit of the bandwidth 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 with the memory of more than 1 GB and a maximum bandwidth of 96 Mbit/s, the bandwidth limit of the instance is 12,288 Mbit/s after you enable the direct connection mode.
  • The bandwidth value 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 Adjust the bandwidth of an ApsaraDB for Redis instance.
  • The bandwidth value in the preceding tables is the internal bandwidth of the ApsaraDB for Redis instance. The public bandwidth is determined by the internal bandwidth and is limited by the bandwidth of the connection between the ApsaraDB for Redis instance and the client. We recommend that you connect to the instance over an internal network to maximize performance.

Calculation rules for connections

ItemDescription
Maximum number of connections
  • Proxy mode: the maximum number of connections to an instance is 500,000. If the upper limit of 500,000 connections 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 uses the proxy mode, the maximum number of connections for the instance is 200,000.
  • Direct connection mode: the maximum number of connections for a single shard is 10,000. The maximum number of connections for an instance can be calculated by using the following formula: Number of shards × 10,000.
Number of new connections per secondThe maximum number of new connections per second refers to the number of connections that are allowed to be established per second. The following example shows how the maximum number of new connections per second affects the maximum number of connections at a specific second: The maximum number of new connections to an instance per second is 10,000. The maximum number of connections to the instance is 50,000. The actual number of connections at the Nth second after the instance starts to run is 12,000. Then, at the (N+1)th second, the maximum number of connections is 22,000, which 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 per second for a single data shard is 2,000. For example, if an instance has four data shards, the maximum number of new connections per second is 8,000.

FAQ

  • Q: Why is the actual bandwidth of my instance different from that described in this topic?

    A: 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 for your instance remains unchanged after the configuration change. For more information, see Change the configurations of an instance.

  • Q: Why am I unable to write data to a cluster instance when instance memory is not exhausted?

    A: Because the instance contains exhausted data shards. ApsaraDB for Redis uses the hash algorithm to evenly write data to different data shards. If the instance contains large keys, resources are unevenly distributed in the instance and the data shards that house these large keys may even be exhausted. In this case, some instance write operations may fail.

    You can use the Performance Monitor feature to check and optimize the performance of each data shard. For more information, see How do I view the memory of child instances of an ApsaraDB for Redis cluster instance?