All Products
Search
Document Center

ApsaraMQ for RabbitMQ:Limits

Last Updated:Jul 13, 2026

ApsaraMQ for RabbitMQ enforces limits on clusters, characters, and peak Transactions Per Second (TPS) traffic. To avoid program errors, do not exceed these limits when using ApsaraMQ for RabbitMQ.

Cluster limits

  • The limits in this table apply to the latest version of instances.

  • If the limits of your instance do not match those in this table, your instance may not be the latest version. For more information, submit a ticket. The following restrictions apply to limit adjustments:

    • Legacy architecture instances do not support limit adjustments: Instances whose ID consists of digits only, or whose VPC endpoint does not end with mq.amqp.aliyuncs.com, do not support adjustments to the limits listed below.

Item

Serverless instance

Subscription instance

Shared

Exclusive

Enterprise Edition

Enterprise Platinum Edition

Professional Edition

Pay-by-provisioned-capacity-and-elastic-traffic/Pay-by-messaging-request

Pay-by-provisioned-capacity-and-elastic-traffic

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

10,000

20,000

Purchase based on instance type.

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

Purchase based on instance type.

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

Number of queues × 4.

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

Queues per exchange binding

256

256

Submit a ticket to request a custom quota. After customization, 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.

None

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 [Number of queues, 2048].

  • 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 either 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

50 MB

10 MB

(Note: For instances in the China (Qingdao), Japan (Tokyo), and China (Hohhot) regions, and instances created before May 1, 2025 in other regions, the limit is 1 MB.)

50 MB

(Note: For instances in the China (Qingdao), Japan (Tokyo), and China (Hohhot) regions, and instances created before May 1, 2025 in other regions, the limit is 3 MB.)

64 KB

Maximum delay for delayed messages

7 days

7 days

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

7 days

7 days

To request customization, contact Alibaba Cloud Technical Support.

24 hours

Maximum message retention period

3 days

3 days

3 days

3 days

3 days

Maximum delivery attempts

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

Note

ApsaraMQ for RabbitMQ limits the size of a message Header frame to 32 KB. This limit cannot be adjusted. To avoid triggering the Header frame size limit, include large message content in the message Body rather than the Header frame.

Character limits

Item

Limit

Queue name

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

  • Must be 1 to 255 characters in length.

Exchange name

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

  • Must be 1 to 255 characters in length.

Vhost name

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

  • Must be 1 to 255 characters in length.

Binding key

  • Standard type

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

    • Must be 1 to 255 characters in length.

  • Topic type

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

    • Must be 1 to 255 characters in length.

    • 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 one of these characters, it must be preceded by a period. If one of these characters 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 (@).

  • Must be 1 to 255 characters in length.

Message ID

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

  • Must be 1 to 255 characters in length.

Rate limiting thresholds

Total TPS

Instance edition

Serverless instance

Subscription instance

Specification

Shared

Exclusive

Elastic TPS disabled

Elastic TPS enabled

Pay-by-provisioned-capacity-and-elastic-traffic/Pay-by-messaging-request

Pay-by-provisioned-capacity-and-elastic-traffic

Enterprise Edition

Enterprise Platinum Edition

Professional Edition

Enterprise Edition

Enterprise Platinum Edition

Professional Edition

Rate limiting threshold

Maximum 50,000 per second

Twice the peak TPS of the base specifications

Peak TPS of the base specifications

Twice the peak TPS of the base specifications, up to a maximum of 50,000 per second

Twice the peak TPS of the base specifications, up to a maximum of 50,000 per second

1.5 times the peak TPS of the base specifications

Single-node SendMessage

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

Item

Serverless instance

Subscription instance

Shared

Exclusive

Enterprise Edition

Enterprise Platinum Edition

Professional Edition

Pay-by-messaging-request

Pay-by-provisioned-capacity-and-elastic-traffic

Pay-by-provisioned-capacity-and-elastic-traffic

Rate limiting threshold

25,000 per second

25,000 per second

None

25,000 per second

None

25,000 per second

Single API call

Item

API

Serverless instance

Subscription instance

Shared

Exclusive

Enterprise Edition

Enterprise Platinum Edition

Professional Edition

Pay-by-provisioned-capacity-and-elastic-traffic/Pay-by-messaging-request

Pay-by-provisioned-capacity-and-elastic-traffic

Purge queue per instance

purgeQueue

500 TPS

None

500 TPS

None

500 TPS

Create exchange per instance

exchangeDeclare

500 TPS

None

500 TPS

None

500 TPS

Delete exchange per instance

exchangeDelete

500 TPS

None

500 TPS

None

500 TPS

Create queue per instance

queueDeclare

500 TPS

None

500 TPS

None

500 TPS

Delete queue per instance

queueDelete

500 TPS

None

500 TPS

None

500 TPS

Create binding per instance

queueBind

500 TPS

None

500 TPS

None

500 TPS

Delete binding per instance

queueUnbind

500 TPS

None

500 TPS

None

500 TPS

Single-Instance Recovery Message

basicRecover

500 TPS

None

500 TPS

None

500 TPS

Requeue messages per instance

  • basicReject(requeue=true)

  • basicNack(requeue=true)

20 TPS

None

20 TPS

None

20 TPS

FAQ

Does Enterprise Edition support independently expanding the queue limit?

No. The maximum number of queues per Enterprise Edition instance is 6,000. This limit is a product-tier specification and cannot be independently expanded within the current edition (for example, it cannot be independently raised to 10,000).

If your business requires more queues, consider the following alternatives:

  1. Optimize queue usage: Consolidate queues where possible, use Topic Exchange routing strategies to reduce the total number of queues, or clean up queues that have no consumers and are no longer in use.

  2. Split the business across instances: If your workload allows, distribute part of your business to a new Enterprise Edition instance to spread queue usage across multiple instances.

How do I handle the error "The channelMax limit is reached"?

Cause: The number of channels under a single connection has reached the channelMax limit for your current instance edition.

Solution:

  1. Confirm your current ApsaraMQ for RabbitMQ instance edition (Professional Edition, Enterprise Edition, Enterprise Platinum Edition, and so on).

  2. Refer to the Channels per connection row in the Cluster limits table to find the specific channelMax value for your instance edition.

  3. Evaluate whether you need to upgrade your instance edition to support a higher number of concurrent channels.

Note

The keywords "channelMax", "limit is reached", "pay callback error", and "channel count limit" all relate to this error. If you encounter any of these symptoms, follow the steps above to diagnose and resolve the issue.