All Products
Search
Document Center

ApsaraMQ for RabbitMQ:Limits

Last Updated:Aug 21, 2025

ApsaraMQ for RabbitMQ has limits on clusters, characters, and peak transactions per second (TPS). When you use ApsaraMQ for RabbitMQ, ensure that you operate within these limits to prevent program errors.

Cluster limits

Limit

Serverless instances

Subscription instances

Shared

Dedicated

Enterprise Edition

Platinum Edition

Professional Edition

Reserved + Elastic/Pay-by-traffic

Reserved + Elastic

Vhosts per instance

200

2,000

200

4,096

200

Exchanges per instance

6,000

10,000

6,000

80,000

6,000

Bindings per instance

20,000

20,000

20,000

None

20,000

Queues per instance

6,000

10,000

6,000

80,000

6,000

Connections per instance

Maximum connections: 10,000.

Maximum connections: 20,000.

Purchase based on the instance type.

Each instance has a free quota of 2,000 connections. The maximum number of connections is 10,000.

Purchase based on the instance type.

Each instance has a free quota of 50,000 connections. The maximum number of connections is 100,000.

Number of queues × 4.

The number of connections per instance ranges from 1,000 to 5,000.

Queues per exchange

256

256

Submit a ticket to request a custom quota. After the quota is customized, you cannot downgrade the instance to a shared cluster.

256

256

To request a custom quota, contact Alibaba Cloud technical support.

256

Consumers per queue

Number of queues × 4.

The number of consumers per queue ranges from 800 to 5,000.

None

Number of queues × 4.

The number of consumers per queue ranges from 800 to 5,000.

No limit

Number of queues × 4.

The number of consumers per queue ranges from 50 to 5,000.

Channels per connection

2,000

3,000

The number of channels per connection is the minimum of the number of queues and 2,048.

  • If the number of queues is less than 2,048, the channel limit is the number of queues.

  • If the number of queues is 2,048 or more, the channel limit is 2,048.

3,000

The number of channels per connection is 64 or the number of queues.

  • If the number of queues is 64 or less, the number of channels per connection is 64.

  • If the number of queues is greater than 64, the number of channels per connection is the number of queues.

Message size

10 MB

10 MB

10 MB

50 MB

64 KB

Maximum delay for delayed messages

7 days

7 days

Submit a ticket to request a custom quota. After the quota is customized, you cannot downgrade the instance to a shared cluster.

7 days

7 days

To request a custom quota, contact Alibaba Cloud technical support.

24 hours

Maximum message retention period

3 days

3 days

3 days

3 days

3 days

Maximum deliveries

16

16

16

64

16

Consumption timeout

Maximum: 3 hours

Default: 5 minutes

Maximum: 12 hours

Default: 30 minutes

Maximum: 3 hours

Default: 5 minutes

Maximum: 12 hours

Default: 30 minutes

Maximum: 10 minutes

Default: 1 minute

Character limits

Limitations

Limit

Queue name

  • Can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@).

  • The length must be 1 to 255 characters.

Exchange name

  • Can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@).

  • The length must be 1 to 255 characters.

Vhost name

  • Can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@).

  • The length must be 1 to 255 characters.

Binding key

  • Standard category

    • Can contain only letters, digits, hyphens (-), underscores (_), periods (.), forward slashes (/), and at signs (@).

    • The length must be 1 to 255 characters.

  • Topic category

    • Can contain only letters, digits, hyphens (-), underscores (_), asterisks (*), periods (.), number signs (#), forward slashes (/), and at signs (@).

    • The length must be 1 to 255 characters.

    • The key cannot start or end with a period (.). If the key starts with a number sign (#) or an asterisk (*), it must be followed by a period (.). If the key ends with a number sign (#) or an asterisk (*), it must be preceded by a period (.). If a number sign (#) or an asterisk (*) is in the middle of the key, it must be enclosed by periods (.).

Consumer tag

  • Can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@).

  • The length must be 1 to 255 characters.

Message ID

  • Can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@).

  • The length must be 1 to 255 characters.

Throttling thresholds

Total instance TPS throttling threshold

Instance series

Serverless instances

Subscription instances

Edition

Shared

Dedicated

Elastic TPS disabled

Elastic TPS enabled

Reserved + Elastic/Pay-by-traffic

Reserved + Elastic

Enterprise Edition

Platinum Edition

Professional Edition

Enterprise Edition

Platinum Edition

Professional Edition

Throttling threshold

Up to 50,000 TPS

Twice the peak TPS of the basic instance type

The peak TPS of the basic instance type

Twice the peak TPS of the basic instance type, up to 50,000 TPS

Twice the peak TPS of the basic instance type, up to 50,000 TPS

1.5 times the peak TPS of the basic instance type

Single-node SendMessage TPS throttling threshold

The server limits the SendMessage TPS for each backend service node within an instance. The throttling thresholds are as follows:

Limit

Serverless instances

Subscription instances

Shared

Dedicated

Enterprise Edition

Platinum Edition

Professional Edition

Cumulative amount

Reserved + Elastic

Reserved + Elastic

Throttling threshold

25,000 TPS

25,000 TPS

None

25,000 TPS

None

25,000 TPS

Single-API throttling thresholds

Limitations

Limit Management Interface

Serverless instances

Subscription instances

Shared

Dedicated

Enterprise Edition

Platinum Edition

Professional Edition

Reserved + Elastic/Pay-by-traffic

Reserved + Elastic

Purge queues for a single instance

purgeQueue

500 TPS

None

500 TPS

Create an exchange for a single instance

exchangeDeclare

500 TPS

None

500 TPS

Delete an exchange for a single instance

exchangeDelete

500 TPS

None

500 TPS

Create a queue for a single instance

queueDeclare

500 TPS

None

500 TPS

Delete a queue for a single instance

queueDelete

500 TPS

None

500 TPS

Create a binding for a single instance

queueBind

500 TPS

None

500 TPS

Delete a binding for a single instance

queueUnbind

500 TPS

None

500 TPS

Recover messages for a single instance

basicRecover

500 TPS

None

500 TPS

Requeue messages for a single instance

  • basicReject(requeue=true)

  • basicNack(requeue=true)

20 TPS

None

20 TPS