产品规格
分布式消息服务RocketMQ版兼容开源RocketMQ 4.8.0和5.x,具体产品规格如下。
RocketMQ对消息的处理能力依赖于磁盘的吞吐能力,其性能基线建立在采用超高I/O及以上磁盘类型,且磁盘带宽未达到所选规格上限的场景下。关于磁盘类型对RocketMQ性能的具体影响请参见磁盘类型对RocketMQ实例性能有什么影响?。
性能规格影响因素
本章节中提供的产品规格数据,为基准条件下(磁盘类型为超高IO,消息大小4.8.0版本为1KB,5.x版本为4KB,冷读场景)测试出的RocketMQ集群性能规格,实际性能规格表现还会受多种因素影响,包括但不限于表1中所示的影响因素。
| 影响因素 | 性能影响 |
|---|---|
| 磁盘类型 | 磁盘性能会影响生产性能以及消息堆积较大时的消费性能,建议使用超高IO及以上的磁盘类型。 |
| 是否冷读 | 当消息堆积量较小时,消费者直接从内存缓存中读取消息,不需要从磁盘读取。当消息堆积量较大时,消费者需要从磁盘读取消息,导致消费性能降低。 |
| 冷读并发度 | 如果消息堆积量较大的消费组数量多,会导致从不同位点随机读取磁盘,导致消费性能降低。 |
| 是否开启SSL加密 | 开启SSL加密会导致性能下降。 |
| 是否开启ACL认证 | 开启ACL认证会导致性能下降。 |
| 是否开启消息轨迹 | 开启消息轨迹会导致性能下降。 |
| 是否跨AZ | 跨AZ生产消费会造成时延升高,导致性能下降。 |
| 生产并发(连接数) | 多个生产者并发生产,可以提升性能,但建议不要超过连接数规格上限。 |
| 队列流量分布是否均衡 | 队列流量分布不均衡时,会导致部分消费者压力高于其他消费者,导致整体消费性能下降。 |
为降低以上因素对RocketMQ性能的影响,有以下建议:
- 通过并发消费提升消费性能,消费组业务解耦,避免多个消费组同时出现堆积。
- 内网访问场景使用明文传输。
- 发送消息不指定队列,均衡队列流量。
分布式消息服务RocketMQ版4.8.0规格
分布式消息服务RocketMQ版4.8.0产品规格由以下七个维度定义:
- 资源规格:定义使用的弹性云服务器的规格类型。
- 代理个数:定义实例的规模。
- 磁盘类型:定义存储空间的磁盘类型,包含高I/O、超高I/O、通用型SSD和极速型SSD。
- 存储容量:定义单个代理可以保存的存储容量。
- 单个代理TPS:定义单个代理的TPS性能(以1KB消息大小为基准计算)。
- 单个代理Topic数上限:定义单个代理可以创建的Topic数量。
- 单个代理消费组数上限:定义单个代理可以创建的消费组数量。
分布式消息服务RocketMQ版4.8.0支持的产品规格如表2所示。
TPS(Transaction per second)是指每秒可以生产消息和消费消息的总次数,可以理解为对应规格每秒生产消息和消费消息的总吞吐量(以1KB消息大小为基准计算)。
| 资源规格 | 代理(个) | 存储容量(GB/代理) | 单个代理TPS | 单个代理Topic数上限 | 单个代理消费组数上限 |
|---|---|---|---|---|---|
| rocketmq.4u8g.cluster.small | 1 ~ 10 | 300 ~ 30000 | 15000 | 2000 | 2000 |
| rocketmq.4u8g.cluster | 1 ~ 10 | 300 ~ 60000 | 20000 | 4000 | 4000 |
| rocketmq.8u16g.cluster | 1 ~ 10 | 300 ~ 90000 | 25000 | 8000 | 8000 |
| rocketmq.12u24g.cluster | 1 ~ 10 | 300 ~ 90000 | 28000 | 12000 | 12000 |
| rocketmq.16u32g.cluster | 1 ~ 10 | 300 ~ 90000 | 30000 | 16000 | 16000 |
分布式消息服务RocketMQ版5.x基础版规格
分布式消息服务RocketMQ版5.x基础版产品规格由以下六个维度定义:
- 资源规格:定义使用的弹性云服务器的规格类型。
- 磁盘类型:定义存储空间的磁盘类型,包含高I/O、超高I/O、通用型SSD和极速型SSD。
- 存储容量:定义实例可以保存的存储容量。
- 实例TPS:定义实例的TPS性能。
- 实例Topic数上限:定义实例可以创建的Topic数量。
- 实例消费组数上限:定义实例可以创建的消费组数量。
分布式消息服务RocketMQ版5.x基础版支持的产品规格如表3和表4所示。下表中TPS是指以普通消息类型、4KB消息大小为基准计算的每秒收发消息的总条数。如果消息类型为定时消息/延迟消息/事务消息,发送消息的调用次数需要在普通消息基础上乘以5,接收消息的调用次数不需要乘以5。例如:每秒发送一条普通消息,TPS为1次/秒。每秒发送一条事务消息,TPS=1*5=5次/秒。
分布式消息服务RocketMQ版5.x专业版规格
分布式消息服务RocketMQ版5.x专业版产品规格由以下七个维度定义:
- 资源规格:定义使用的弹性云服务器的规格类型。
- 磁盘类型:定义存储空间的磁盘类型,包含超高I/O、通用型SSD和极速型SSD。
- 存储容量:定义实例可以保存的存储容量。
- 实例TPS:定义实例的TPS性能。
- 弹性TPS:定义实例的弹性TPS。
- 实例Topic数上限:定义实例可以创建的Topic数量。
- 实例消费组数上限:定义实例可以创建的消费组数量。
分布式消息服务RocketMQ版5.x专业版支持的产品规格如表5和表6所示。下表中TPS是指以普通消息类型、4KB消息大小为基准计算的每秒收发消息的总条数。如果消息类型为定时消息/延迟消息/事务消息,发送消息的调用次数需要在普通消息基础上乘以5,接收消息的调用次数不需要乘以5。例如:每秒发送一条普通消息,TPS为1次/秒。每秒发送一条事务消息,TPS=1*5=5次/秒。
| 资源规格 | 存储容量(GB) | 实例TPS | 实例Topic数上限 | 实例消费组数上限 |
|---|---|---|---|---|
| rocketmq.p1.large.1 | 100 ~ 30000 | 500 | 200 | 500 |
| 资源规格 | 存储容量(GB) | 实例TPS | 弹性TPS | 实例Topic数上限 | 实例消费组数上限 |
|---|---|---|---|---|---|
| rocketmq.p2.large.8 | 200 ~ 60000 | 4000 | 2000 | 400 | 1500 |
| rocketmq.p2.large.12 | 200 ~ 60000 | 6000 | 3000 | 400 | 1500 |
| rocketmq.p2.large.20 | 200 ~ 60000 | 10000 | 5000 | 800 | 1500 |
| rocketmq.p2.large.40 | 400 ~ 120000 | 20000 | 10000 | 800 | 1500 |
| rocketmq.p2.large.100 | 400 ~ 120000 | 50000 | 25000 | 1000 | 2000 |
| rocketmq.p2.large.150 | 400 ~ 120000 | 75000 | 37500 | 1000 | 2000 |
| rocketmq.p2.large.200 | 800 ~ 240000 | 100000 | 50000 | 1500 | 4000 |
| rocketmq.p2.large.300 | 800 ~ 240000 | 150000 | 50000 | 1500 | 4000 |