This topic describes the specifications of cluster DRAM-based instances of the ApsaraDB for Redis Enhanced Edition (Tair). 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 shards is 2, the number of CPU cores is 12, and the maximum number of new connections per second is 50,000.
Instance type InstanceClass value (used in API operations) Memory per shard (GB) Proxy mode Maximum number of concurrent connections Direct connection mode Maximum number of concurrent connections Total maximum bandwidth (Mbit/s) Bandwidth per shard (Mbit/s) QPS reference value 2 GB cluster instance (2 shards) redis.amber.logic.sharding.1g.2db.0rodb.6proxy.multithread 1 480,000 60,000 192 96 480,000 4 GB cluster instance (2 shards) redis.amber.logic.sharding.2g.2db.0rodb.6proxy.multithread 2 480,000 60,000 192 96 480,000 -
4 shards
For these instance types, the number of shards is 4, the number of CPU cores is 24, and the maximum number of new connections per second is 50,000.
Instance type InstanceClass value (used in API operations) Memory per shard (GB) Proxy mode Maximum number of concurrent connections Direct connection mode Maximum number of concurrent connections Total maximum bandwidth (Mbit/s) Bandwidth per shard (Mbit/s) QPS reference value 8 GB cluster instance (4 shards) redis.amber.logic.sharding.2g.4db.0rodb.12proxy.multithread 2 500,000 120,000 384 96 960,000 -
8 shards
For these instance types, the number of shards is 8, the number of CPU cores is 48, and the maximum number of new connections per second is 50,000.
Instance type InstanceClass value (used in API operations) Memory per shard (GB) Proxy mode Maximum number of concurrent connections Direct connection mode Maximum number of concurrent connections Total maximum bandwidth (Mbit/s) Bandwidth per shard (Mbit/s) QPS reference value 16 GB cluster instance (8 shards) redis.amber.logic.sharding.2g.8db.0rodb.24proxy.multithread 2 500,000 240,000 768 96 1,920,000 32 GB cluster instance (8 shards) redis.amber.logic.sharding.4g.8db.0rodb.24proxy.multithread 4 500,000 240,000 768 96 1,920,000 64 GB cluster instance (8 shards) redis.amber.logic.sharding.8g.8db.0rodb.24proxy.multithread 8 500,000 240,000 768 96 1,920,000 -
16 shards
For these instance types, the number of shards is 16, the number of CPU cores is 96, and the maximum number of new connections per second is 50,000.
Instance type InstanceClass value (used in API operations) Memory per shard (GB) Proxy mode Maximum number of concurrent connections Direct connection mode Maximum number of concurrent connections Total maximum bandwidth (Mbit/s) Bandwidth per shard (Mbit/s) QPS reference value 128 GB cluster instance (16 shards) redis.amber.logic.sharding.8g.16db.0rodb.48proxy.multithread 8 500,000 480,000 1,536 96 3,840,000 256 GB cluster instance (16 shards) redis.amber.logic.sharding.16g.16db.0rodb.48proxy.multithread 16 500,000 480,000 1,536 96 3,840,000 -
32 shards
For these instance types, the number of shards is 32, the number of CPU cores is 192, and the maximum number of new connections per second is 50,000.
Instance type InstanceClass value (used in API operations) Memory per shard (GB) Proxy mode Maximum number of concurrent connections Direct connection mode Maximum number of concurrent connections Total maximum bandwidth (Mbit/s) Bandwidth per shard (Mbit/s) QPS reference value 512 GB cluster instance (32 shards) redis.amber.logic.sharding.16g.32db.0rodb.96proxy.multithread 16 500,000 960,000 2,048 96 7,680,000 -
64 shards
For these instance types, the number of shards is 64, the number of CPU cores is 384, and the maximum number of new connections per second is 50,000.
Instance type InstanceClass value (used in API operations) Memory per shard (GB) Proxy mode Maximum number of concurrent connections Direct connection mode Maximum number of concurrent connections Total maximum bandwidth (Mbit/s) Bandwidth per shard (Mbit/s) QPS reference value 1024 GB cluster instance (64 shards) redis.amber.logic.sharding.16g.64db.0rodb.192proxy.multithread 16 500,000 1,920,000 2,048 96 15,360,000 -
128 shards
For these instance types, the number of shards is 128, the number of CPU cores is 768, and the maximum number of new connections per second is 50,000.
Instance type InstanceClass value (used in API operations) Memory per shard (GB) Proxy mode Maximum number of concurrent connections Direct connection mode Maximum number of concurrent connections Total maximum bandwidth (Mbit/s) Bandwidth per shard (Mbit/s) QPS reference value 2048 GB cluster instance (128 shards) redis.amber.logic.sharding.16g.128db.0rodb.384proxy.multithread 16 500,000 3,840,000 2,048 96 30,720,000 -
256 shards
For these instance types, the number of shards is 256, the number of CPU cores is 1,536, and the maximum number of new connections per second is 50,000.
Instance type InstanceClass value (used in API operations) Memory per shard (GB) Proxy mode Maximum number of concurrent connections Direct connection mode Maximum number of concurrent connections Total maximum bandwidth (Mbit/s) Bandwidth per shard (Mbit/s) QPS reference value 4096 GB cluster instance (256 shards) redis.amber.logic.sharding.16g.256db.0rodb.768proxy.multithread 16 500,000 7,680,000 2,048 96 61,440,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
Item | Description |
---|---|
Maximum number of concurrent connections |
|
Number of new connections per second | The 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: For example, assume that 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, and the actual number of connections at the Nth second after the instance
starts to run is 12,000. In this case, at the (N+1)th second, the maximum number of
connections 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 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?