产品规格
分布式消息服务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 |