测试5.x基础版本RocketMQ实例性能
本章节主要测试RocketMQ实例5.x基础版本不同产品规格在发送3800字节大小的消息时,实例的生产速率、消费速率和平均生产时延。
测试环境
进行测试前,您需要先构建如下的测试环境:
- 购买如表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://dms-demos.obs.cn-north-1.myhuaweicloud.com/rocketmq-tutorial.zip
- 解压测试工具。
unzip rocketmq-tutorial.zip
测试命令
生产命令:
在“benchmark”文件夹下,执行如下命令:
sh producer.sh -n "${连接地址}" -t ${Topic名称} -s ${消息大小} -w ${生产者线程数}
|
参数名称 |
说明 |
取值样例 |
|---|---|---|
|
连接地址 |
RocketMQ实例的连接地址,在RocketMQ控制台的“概览 > 连接信息”中获取。 |
192.168.111.182:8100;192.168.111.14:8100 |
|
Topic名称 |
RocketMQ实例下创建的Topic名称,从表2中获取。 |
topic-01 |
|
消息大小 |
自定义生产消息的大小。 RocketMQ支持的最大消息大小是4M。 |
3800(单位:字节) |
|
生产者线程数 |
生产者的线程数。 |
256 |
将表4的取值示例代入命令示例中,执行如下命令生产消息:
sh producer.sh -n "192.168.111.182:8100;192.168.111.14:8100" -t topic-01 -s 3800 -w 256
消费命令:
在“benchmark”文件夹下,执行如下命令:
sh consumer.sh -n "${连接地址}" -t ${Topic名称} -g ${消费组名称}
|
参数名称 |
说明 |
取值样例 |
|---|---|---|
|
连接地址 |
RocketMQ实例的连接地址,在RocketMQ控制台的“概览 > 连接信息”中获取。 |
192.168.111.182:8100;192.168.111.14:8100 |
|
Topic名称 |
RocketMQ实例下创建的Topic名称,从表2中获取。 |
topic-01 |
|
消费组名称 |
RocketMQ实例下创建的消费组名称,从表3中获取。 |
group-01 |
将表5的取值示例代入命令示例中,执行如下命令消费消息:
sh consumer.sh -n "192.168.111.182:8100;192.168.111.14:8100" -t topic-01 -g group-01
测试结果参考
|
性能指标 |
rocketmq.b2.large.4 |
rocketmq.b2.large.8 |
rocketmq.b2.large.12 |
|---|---|---|---|
|
实例生产速率 |
1008.500 Count/s |
2019.710 Count/s |
3011.640 Count/s |
|
实例消费速率 |
1008.520 Count/s |
2019.710 Count/s |
3010.590 Count/s |
|
平均生产时延 |
26.336 ms |
8.788 ms |
5.876 ms |