Updated on 2024-05-06 GMT+08:00

Specifications

RabbitMQ Instance Specifications

RabbitMQ instances are compatible with RabbitMQ 3.8.35. Table 1 lists the specifications of single-node and cluster RabbitMQ instances.

Table 1 Specifications of cluster RabbitMQ instances

Flavor

Brokers

Storage Space (GB)

Reference TPS

Maximum Consumers per Broker

Recommended Queues per Broker

Maximum Connections per Broker

rabbitmq.2u4g.cluster

3

300–90,000

3000

4000

100

1000

5

500–150,000

5000

4000

100

1000

7

700–210,000

7000

4000

100

1000

rabbitmq.4u8g.cluster

3

300–90,000

6000

8000

200

2000

5

500–150,000

10,000

8000

200

2000

7

700–210,000

14,000

8000

200

2000

rabbitmq.8u16g.cluster

3

300–90,000

12,000

16,000

400

4000

5

500–150,000

20,000

16,000

400

4000

7

700–210,000

28,000

16,000

400

4000

rabbitmq.12u24g.cluster

3

300–90,000

24,000

24,000

600

6000

5

500–150,000

40,000

24,000

600

6000

7

700–210,000

56,000

24,000

600

6000

rabbitmq.16u32g.cluster

3

300–90,000

48,000

32,000

800

8000

5

500–150,000

80,000

32,000

800

8000

7

700–210,000

112,000

32,000

800

8000

rabbitmq.24u48g.cluster

3

300–90,000

60,000

40,000

1000

10,000

5

500–150,000

100,000

40,000

1000

10,000

7

700–210,000

140,000

40,000

1000

10,000

rabbitmq.32u64g.cluster

3

300–90,000

72,000

40,000

1000

10,000

5

500–150,000

120,000

40,000

1000

10,000

7

700–210,000

168,000

40,000

1000

10,000

  • To ensure stability, the maximum size of a single message is 50 MB. Do not send a message larger than 50 MB.
  • In the preceding tables, TPS is represented by the number of messages (2 KB each) processed per second. In the tests, persistence and queue mirroring were not enabled. Messages were retrieved immediately after creation and were not accumulated in the queues. The data is for reference only and may differ from that in your production environment.
  • Performance is related to the queue quantity, message accumulation, number of connections, number of channels, number of consumers, queue mirroring, priority queue, message persistence, and the exchange type. Select instance specifications based on the pressure test result of the service model.
  • A maximum of 2047 channels can be opened on a connection.
  • Single-node instances can be used for testing. Do not use them for message production. Single-node flavors are not yet available.

Mapping Between Old and New Flavors

Old and new RabbitMQ instance flavors are compared as follows.

Table 2 Mapping between old and new RabbitMQ instance flavors

Old Flavor

New Flavor

Flavor

Reference TPS

Flavor

Reference TPS

4 vCPUs | 8 GB × 3

3000

rabbitmq.4u8g.cluster * 3

6000

8 vCPUs | 16 GB × 3

6000

rabbitmq.8u16g.cluster * 3

12,000

16 vCPUs | 32 GB × 3

24,000

rabbitmq.16u32g.cluster * 3

48,000

Instances with new flavors have the following features:

  • New flavors provide better performance at the same price.
  • Old flavors use non-exclusive resources. If the load is heavy, resources conflicts will occur. By contrast, new flavors use exclusive resources so they provide better performance and stability.
  • New flavors support scale-out and scale-up to satisfy service changes.
  • Larger flavors up to rabbitmq.32u64g.cluster are available now.
  • More disk type options: General Purpose SSD and Extreme SSD are now available, in addition to the original disk types.

Storage Space Selection

In cluster mode, RabbitMQ persists messages to disk. When creating a RabbitMQ instance, select a proper storage space size based on the estimated message size and the number of replicas in a mirrored queue, which can be maximally equal to the number of brokers in the cluster.

For example, if the estimated message size is 100 GB, the disk capacity must be at least: 100 GB x Number of mirrored replicas + 100 GB (reserved).

For single-node instances, select a storage space size based on the estimated message size and the reserved disk space.

You can change the number of brokers in a cluster, but cannot change the specifications of a single-node instance.