产品规格
RabbitMQ实例规格
RabbitMQ实例兼容开源RabbitMQ 3.8.35/3.13.7和自研RabbitMQ AMQP-0-9-1。实例类型包括单机和集群,实例规格请参考表1和表2。
| 型号 | 代理数 | 存储空间范围(GB) | TPS参考值 | 单个代理最大消费者数 | 单个代理建议队列数 | 单个代理最大连接数 |
|---|---|---|---|---|---|---|
| rabbitmq.2u4g.cluster | 3 | 300~90000 | 3000 | 4000 | 100 | 1000 |
| 5 | 500~150000 | 5000 | 4000 | 100 | 1000 | |
| 7 | 700~210000 | 7000 | 4000 | 100 | 1000 | |
| rabbitmq.4u8g.cluster | 3 | 300~90000 | 6000 | 8000 | 200 | 2000 |
| 5 | 500~150000 | 10000 | 8000 | 200 | 2000 | |
| 7 | 700~210000 | 14000 | 8000 | 200 | 2000 | |
| rabbitmq.8u16g.cluster | 3 | 300~90000 | 12000 | 16000 | 400 | 4000 |
| 5 | 500~150000 | 20000 | 16000 | 400 | 4000 | |
| 7 | 700~210000 | 28000 | 16000 | 400 | 4000 | |
| rabbitmq.12u24g.cluster | 3 | 300~90000 | 24000 | 24000 | 600 | 6000 |
| 5 | 500~150000 | 40000 | 24000 | 600 | 6000 | |
| 7 | 700~210000 | 56000 | 24000 | 600 | 6000 | |
| rabbitmq.16u32g.cluster | 3 | 300~90000 | 48000 | 32000 | 800 | 8000 |
| 5 | 500~150000 | 80000 | 32000 | 800 | 8000 | |
| 7 | 700~210000 | 112000 | 32000 | 800 | 8000 | |
| rabbitmq.24u48g.cluster | 3 | 300~90000 | 60000 | 40000 | 1000 | 10000 |
| 5 | 500~150000 | 100000 | 40000 | 1000 | 10000 | |
| 7 | 700~210000 | 140000 | 40000 | 1000 | 10000 | |
| rabbitmq.32u64g.cluster | 3 | 300~90000 | 72000 | 40000 | 1000 | 10000 |
| 5 | 500~150000 | 120000 | 40000 | 1000 | 10000 | |
| 7 | 700~210000 | 168000 | 40000 | 1000 | 10000 |
- 上表中TPS(即生产+消费的TPS)是指以2K大小的消息为例的每秒处理消息条数,测试场景为不开启持久化的非镜像队列,实时生产实时消费,队列无积压。此数据仅供参考,生产使用需要以实际压测性能为准。
- 服务端的性能主要跟以下因素相关:队列数、消息堆积、连接数、channel、消费者数、镜像队列、优先级队列、消息持久化和exchange类型等,在选择实例规格时,请根据业务模型压测结果选择。
- 一条连接最多可以开启2047个channel。
- 单机版实例可用于测试场景,不建议用于生产业务,暂不提供单机版实例的产品规格。
- RabbitMQ 3.x.x版本实例单个代理支持的最大连接数如上表所示,整个集群支持的最大连接数不超过30000。
| 型号 | 存储空间范围(GB) | TPS上限值 | 实例最大连接数 | 实例最大队列数 | 最大Exchange数 | 单个Vhost最大Binding数 | 实例最大Binding数 | 最大消费者数 |
|---|---|---|---|---|---|---|---|---|
| amqp.p2.large.6 | 200~60000 | 3000 | 1000 | 500 | 500 | 5000 | 5000 | 1000 |
| amqp.p2.large.10 | 200~60000 | 5000 | 1000 | 500 | 500 | 5000 | 5000 | 1000 |
| amqp.p2.large.14 | 200~60000 | 7000 | 2000 | 1000 | 1000 | 10000 | 10000 | 2000 |
| amqp.p2.large.20 | 200~60000 | 10000 | 2000 | 1000 | 1000 | 10000 | 10000 | 2000 |
| amqp.p2.large.28 | 200~60000 | 14000 | 2000 | 1000 | 1000 | 10000 | 10000 | 2000 |
| amqp.p2.large.40 | 200~60000 | 20000 | 3000 | 1500 | 1500 | 15000 | 15000 | 3000 |
| amqp.p2.large.56 | 400~120000 | 28000 | 4000 | 2000 | 2000 | 20000 | 20000 | 4000 |
| amqp.p2.large.80 | 400~120000 | 40000 | 6000 | 3000 | 3000 | 30000 | 30000 | 6000 |
| amqp.p2.large.112 | 400~120000 | 56000 | 8000 | 4000 | 4000 | 40000 | 40000 | 8000 |
| amqp.p2.large.144 | 600~180000 | 72000 | 10000 | 5000 | 5000 | 50000 | 50000 | 10000 |
| amqp.p2.large.200 | 600~180000 | 100000 | 12000 | 6000 | 6000 | 60000 | 60000 | 12000 |
| amqp.p2.large.240 | 800~240000 | 120000 | 16000 | 8000 | 8000 | 80000 | 80000 | 16000 |
| amqp.p2.large.280 | 1200~360000 | 140000 | 16000 | 8000 | 8000 | 80000 | 80000 | 18000 |
- 上表中TPS,是指以4K大小的消息为例的每秒处理消息条数,测试场景为实时生产实时消费,队列无积压。此数据仅供参考,生产使用需要以实际压测性能为准。
- 服务端的性能主要跟以下因素相关:队列数、消息堆积、连接数、channel、消费者数和Exchange类型等,在选择实例规格时,请根据业务模型压测结果选择。
- 一条连接最多可以开启2000个channel。
- 单机版实例可用于测试场景,不建议用于生产业务,暂不提供单机版实例的产品规格。
新老规格对应关系
2种RabbitMQ实例规格对比,新老规格的对应关系如所示。
| 老规格 | 对应的新规格 | ||
|---|---|---|---|
| 规格类型 | TPS参考值 | 规格类型 | TPS参考值 |
| 4核 | 8GB * 3 | 3000 | rabbitmq.4u8g.cluster * 3 | 6000 |
| 8核 | 16GB * 3 | 6000 | rabbitmq.8u16g.cluster * 3 | 12000 |
| 16核 | 32GB * 3 | 24000 | rabbitmq.16u32g.cluster * 3 | 48000 |
新老规格区别如下:
- 新规格性能更好,同等价格下性价比更优。
- 老规格使用的非独享资源,在高负载情况下容易出现资源抢占情况。新规格使用的独占资源,性能更优、稳定性更好。
- 新规格支持灵活的水平/垂直动态扩容,能更好地应对复杂的业务变化情况。
- 新规格支持更大规格的,最大可以支持rabbitmq.32u64g.cluster。
- 新规格除了原有的磁盘类型,还支持通用型SSD、极速型SSD等多种磁盘类型,客户选择更加灵活。
RabbitMQ实例的存储空间估算参考
在集群模式中,RabbitMQ需要对消息持久化写入到磁盘中,因此,您在创建RabbitMQ实例选择存储空间时,建议根据业务消息体积预估以及镜像队列副本数量选择合适的存储空间。镜像队列副本数最大为集群的代理数。
例如:业务消息体积预估100GB,则磁盘容量最少应为100GB*镜像队列副本数+预留磁盘大小100GB。
如果是单机实例,则是计算业务消息体积+预留磁盘大小即可。
当前RabbitMQ实例支持修改集群实例的代理个数,您可以根据业务情况,随时更改集群代理个数。单机实例暂不支持变更规格。