更新时间:2024-11-14 GMT+08:00
测试4.8.0版本RocketMQ实例性能
本章节主要测试RocketMQ实例4.8.0版本不同产品规格在发送1KB大小的消息,且CPU使用率达到80%以上时,实例的网络入流量、网络出流量、消息生产速率、消息消费速率、CPU核均负载和内存使用率。
测试环境
进行测试前,您需要先构建如下的测试环境:
- 购买如表1所示实例,购买步骤请参考购买实例。
- 创建如表2所示Topic,创建步骤请参考创建Topic。
- 创建如表3所示消费组,创建步骤请参考创建消费组。
- 购买1台ECS服务器(区域、可用区、虚拟私有云、子网、安全组与RocketMQ实例保持一致,Linux系统),具体步骤请参考购买弹性云服务器。
- 在ECS中安装Java JDK,并配置JAVA_HOME与PATH环境变量。
export JAVA_HOME=/root/jdk1.8.0_231 export PATH=$JAVA_HOME/bin:$PATH
- 下载测试工具。
wget https://dist.apache.org/repos/dist/release/rocketmq/5.1.4/rocketmq-all-5.1.4-bin-release.zip
- 解压测试工具。
unzip rocketmq-all-5.1.4-bin-release.zip
测试命令
生产命令:
sh producer.sh -n "${连接地址}" -t ${Topic名称} -s ${消息大小} -w ${生产者线程数}
- 连接地址:购买RocketMQ实例后,获取实例的连接地址。
- Topic名称:创建Topic时设置的Topic名称。
- 消息大小:1KB
- 生产者线程数:测试rocketmq.4u8g.cluster.small、rocketmq.4u8g.cluster和rocketmq.8u16g.cluster时,生产者线程数输入256,测试rocketmq.12u24g.cluster时,生产者线程数输入640。
消费命令:
sh consumer.sh -n "${连接地址}" -t ${Topic名称} -g ${消费组名称}
- 连接地址:购买RocketMQ实例后,获取实例的连接地址。
- Topic名称:创建Topic时设置的Topic名称。
- 消费组名称:创建消费组时设置的消费组名称。
测试结果参考
性能指标 |
rocketmq.4u8g.cluster.small |
rocketmq.4u8g.cluster |
rocketmq.8u16g.cluster |
rocketmq.12u24g.cluster |
---|---|---|---|---|
消息生产速率 |
56532 个/秒 |
62443 个/秒 |
92476 个/秒 |
138369 个/秒 |
消息消费速率 |
53793 个/秒 |
60106 个/秒 |
90563 个/秒 |
116154 个/秒 |
网络入流量 |
91 MB/s |
99.64 MB/s |
143.64 MB/s |
238.19 MB/s |
网络出流量 |
223 MB/s |
314 MB/s |
451 MB/s |
674 MB/s |
CPU使用率 |
86% |
90% |
81% |
81% |
CPU核均负载 |
2.77 |
3.03 |
1.73 |
1.73 |
内存使用率 |
63% |
55% |
49% |
47% |
父主题: 测试实例性能