RocketMQ 集群性能摸高

前言

我们在生产环境搭建一个集群时,需要对该集群的性能进行摸高。即:集群的最大 TPS 大约多少,我们做到心里有数。通常我们日常的实际流量控制在压测最高值的 1/3 到 1/2 左右,预留一倍到两倍的空间应对流量的突增情况。

如何进行压力测试呢?

  1. 写段发送代码测试同学通过 JMeter 进行压力测试,或者代码中通过多线程发送消息。这种方式需要多台不错配置的测试机器。
  2. 通过 RocketMQ 自带压测脚本。

这两种在实践过程中都使用过,压测效果基本接近,为了方便,建议直接在新搭建的 RocketMQ 集群上直接通过压测脚本进行即可。

压测脚本

在 RocketMQ 安装包解压后,在 benchmark 目录有一个 producer.sh 文件。我们通过该脚本进行压力测试。

下面通过 producer.sh -h 看下各个字段的含义。

字段含义:

名称 含义
-h 使用帮助
-k 测试时消息是否有 key,默认 false
-n NameServer 地址
-s 消息大小,默认为 128 个字节
-t 主题名称
-w 并发线程的数量,默认 64 个

摸高实战

系统配置 48C256G,集群架构为 4 主 4 从。下面分场景对该集群进行测试,观察输出结果。可以根据实际情况灵活组合&#

猜你喜欢

转载自blog.csdn.net/prestigeding/article/details/109335899