天天看点

RocketMQ压测报告书RocketMQ压测报告书

RocketMQ压测报告书

公司需要压测RocketMq,这里给出个人的压测结果。因为机器不足的原因,这里只能做基准测试。不能做容量测试、稳定性和异常测试。

1. 部署结构

1.1 机器组成

2台机器 4c16g nameserver

4台机器 4c16g broker

压力机一台 一个 producer + 一个consumer

1.2 OS配置

系统:Linux ,CentOs7

内核:Linux version 4.4.238-1.el7.elrepo.x86_64,(CentOS7默认使用的是3.10.0-693.2.2.el7.x86_64 x86_64,升级看这里:https://www.cnblogs.com/polk6/p/11282477.html)万达的系统不需要升级,默认使用的调度算法是mq-deadline。多队列调度算法。

文件系统:XFS

防火墙状态:关闭

在RocketMq之中,官方已经给出了Linux提优的配置脚本。在bin目录的os.sh,只是脚本之后有某些测试适用于CentOS 6,CentOS7之中有所改动。因此需要针对自己的系统做出修改。特别是系统IO调度算法这一块。

Linux性能测试调优

位置 参数名称 默认值 建议值 备注 分类
/proc/sys/vm/overcommit_memory vm.overcommit_memory 1 内存页配置
/proc/sys/vm/drop_caches vm.drop_caches 1 内存页配置
/proc/sys/vm/zone_reclaim_mode vm.zone_reclaim_mode 内存页配置
/proc/sys/vm/max_map_count vm.max_map_count 65530 655360 内存页配置
/proc/sys/vm/dirty_background_ratio vm.dirty_background_ratio 10 50 内存页配置
/proc/sys/vm/dirty_ratio vm.dirty_ratio 30 50 内存页配置
/proc/sys/vm/dirty_writeback_centisecs vm.dirty_writeback_centisecs 500 360000 内存页配置
/proc/sys/vm/page-cluster vm.page-cluster 3 3 内存页配置
/proc/sys/vm/swappiness vm.swappiness 30 1 内存页配置
/etc/profile openfile 1024 655350 执行命令:echo ‘ulimit -n 655350’ >> /etc/profile 文件连接数
/etc/security/limits.conf hard nofile 655350 执行命令:echo ‘* hard nofile 655350’ >> /etc/security/limits.conf 系统文件句柄设置
/etc/security/limits.conf hard memlock unlimited 执行命令:echo ‘* hard memlock unlimited’ >> /etc/security/limits.conf
/etc/security/limits.conf soft memlock unlimited 执行命令:echo ‘* soft memlock unlimited’ >> /etc/security/limits.conf

以上这些配置直接执行os.sh即可(需要root权限)。

系统I/O调度算法: deadline。(这个配置执行os.sh在CentOS7之中会出现异常,因为大家的挂载方式不同。)

deadline调度算法是数据库,MQ这些频繁操作系统IO的应用非常适合的算法。分别为读、写请求创建了不同的 I/O 队列,可以提高机械磁盘的吞吐量,并确保达到最终期限(deadline)的请求被优先处理。DeadLine 调度算法,多用在 I/O 压力比较重的场景,比如数据库等。

我是直接查找出自己RocketMq将要读写的位置是挂载在哪里的,然后修改os.sh,再执行。

比如我查找到RocketMq读写时再/sda下,然后修改os.sh,如下:

echo 'deadline' > /sys/block/sda/queue/scheduler
           

需要注意的是: vm.zone_reclaim_mode=0的意思就是内存分配的时候,可以借助别的numa分配的内存。我这次基准测试是没有开启的,如果CPU核数比较多(比如64核),建议开启。否则0和1没有太大的区别。

JVM参数配置使用官方提供的默认的

-server -Xms8g -Xmx8g -Xmn4g -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 -verbose:gc -Xloggc:/dev/shm/rmq_broker_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:MaxDirectMemorySize=15g -XX:-UseLargePages -XX:-UseBiasedLocking
           

1.3 部署方式

物理部署

2主2从,同步复制

2. 性能技术指标

2.1 评测目的

压测单机TPS,评估单机容量

2.2 测试的指标

目前生产环境由两台4c8g的机器搭建的RocketMq环境,采用两主两从同步复制的方式。两台主机各有1300个(实际是1239个)和broker相关的长连接。通常情况下:producer的数量会大于consumer的数量。即写的数量大于读的数量。

线程数

这里我们要求高点,50%是producer,50%是consumer,那么我们大概有650个produer。(不考虑consumer大于producer的不合理情况。)

因为RocketMq创建的都是长连接。一般业务并发度为1%~5%(根据https://time.geekbang.org/column/article/181916得知)。即并发线程数我们可以认为是650 * 5% = 32.5。即我们的并发线程达到33即满足当前生产环境。

TPS

从控制台看到我们总共发送了将近6亿数据(两台broker相加)。

这个统计是从broker启动就开始,放在内存之中,关闭内存即消失,下次启动从头开始计。

假设上次重启是2个星期前(实际可能远远不止。)并且和发送较为平缓(因为我们没有秒杀的场景)。

那么当前生产需要的写的tps是:

6,0000,0000 / (2 * 7 * 24 * 60 * 60)= 600,000,000 / 1,209,600 = 496 取500

按20201007国庆高峰期来看一天的生产的量是1962630+1847619=3810249。我们取4,000,000

业务开始 按现在的情况 每次投产必须8点开业 就按早8点 到晚上24点 16个小时 然后安排28原则 计算峰值tps,这样算生产需要写的tps峰值是 :

4,000,000 + 4000000 3 \sqrt[3]{4000000} 34000000

​ ≈ \approx ≈ 4,000,158

(4,000,158 * 0.8)/ (12 * 3600 * 0.2) ≈ \approx ≈ 370

读的TPS依赖于consumer代码编写的规范。这里不做特殊要求,RocketMq支持消息积压,另外如果我们消费消息过慢,建议从从服务器读消息,读写分离可以让我们得到更好的性能。我们这里按照官方给的consumer压测工具的消费能力即可。

响应时间

目前我们RocketMq的底层了默认请求的响应超时时间是5s,那么我们的目标就是发送写的时间不能超过5s。可以通过参数设置为30s。

最后我们的业务目标是33线程,写TPS大于370,最大响应时间在5s内,平均在3s内。

按照5年业务增长,写的TPS增长为370 * 5 = 1850 TPS。

最终业务增长指标RocketMQ的写为1850 TPS,我们取2000。

我们汇总在一个表格中:

业务 业务目标TPS 业务增长目标TPS
370 2000
消息大小

目前生产环境发送最多两个消息分别为:XXX_TOPIC,YYY_topic。两者大小分别为500bytes,1000bytes(取整)。

我们压测分别测试128bytes和1024bytes即可。

3. 监控内容

消息:TPS

cpu:load,sy,us

内存:useed,free,swap,cache,buffer

I/O:iops,ioutil,吞吐量(数据物理读写大小/秒)

网络:网卡流量

ioutil最好不要超过75%,cpu load最好不超过总的核数或者太多,没有发生频繁的swap导致较大的内存颠簸。

4. 压测方案

业务模型

接口 占比
50%
50%

压测类型

基准测试

容量测试

稳定性测试

异常测试

加压方式

梯度加压,5线程梯度开始加压,每次加5线程,加至100线程。

延时方式

无间隔发送消息,和消费消息。

压测场景

1)基准测试

默认配置的发送+消费

改进配置的发送+消费

2)容量测试

当前生产环境的发送+消费。

升级4.5.2同步复制

升级4.5.2异步复制

3)稳定性测试

并发64,发送和消费同时开启12小时/24小时,无异常情况。

4)异常测试

并发20,kill掉一台producer,跑30分钟,tps波动不大即可。

5. 基准测试

下面的基准测试是我的私人测试:

1台机器 2c4g nameserver

1台机器 4c8g broker

宿主机 一个 producer + 一个consumer

宿主机运行在SSD上,虚拟机运行在SATA磁盘上。

对比测试:默认配置

RocketMq的配置:

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
           
发送业务功能测试

topic 2 threadCount 64 messageSize 128 keyEnable false timeout 3000ms

Send TPS: 15841 Max RT: 541 Average RT:   3.907 Send Failed: 0 Response Failed: 0
Send TPS: 30216 Max RT: 541 Average RT:   2.118 Send Failed: 0 Response Failed: 0
Send TPS: 33279 Max RT: 541 Average RT:   1.923 Send Failed: 0 Response Failed: 0
...
           
消费业务功能测试

topic: BenchmarkTest, group: benchmark_consumer_61, suffix: true, filterType: null, expression: null

TPS: 1455 FAIL: 0 AVG(B2C) RT: 269264337.538 AVG(S2C) RT: 269264501.417 MAX(B2C) RT: 269266740 MAX(S2C) RT: 269266906
...
           

根据上面我们汇总一个表格

业务 最大TPS 最大响应时间 业务占比 业务目标TPS 业务增长目标TPS 目标响应时间
33279 541 50% 500 1,428 5s
4382 不考虑 50% 不考虑 不考虑 不考虑

这里解释一下这些含义:

B2C:born2Consumer,表示从这个消息出生到消费间隔的时间。考虑的是实时性。

S2C:store2Consumer,表示从这个消息保存在broker到消费的时间间隔。也是考虑的是实时性。

对比测试:改进配置

RocketMq的改进如下:

namesrvAddr=192.168.150.10:9876
brokerName=broker-a
brokerClusterName=DefaultCluster
brokerId=0
deleteWhen=04
fileReservedTime=120
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
autoCreateTopicEnable=false
autoCreateSubscriptionGroup=true
transientStorePoolEnable=true
waitTimeMillsInSendQueue=6000
osPageCacheBusyTimeOutMills=6000
useReentrantLockWhenPutMessage=true
warmMapedFileEnable=true
transferMsgByHeap=false
           
发送业务功能测试

topic BenchmarkTest threadCount 64 messageSize 128 keyEnable false

...
Send TPS: 39183 Max RT: 2800 Average RT:   1.675 Send Failed: 0 Response Failed: 0
Send TPS: 40822 Max RT: 2800 Average RT:   1.576 Send Failed: 0 Response Failed: 0
...
Send TPS: 49428 Max RT: 2466 Average RT:   1.293 Send Failed: 0 Response Failed: 0
           
消费业务功能测试
TPS: 8356 FAIL: 0 AVG(B2C) RT: 8800238.515 AVG(S2C) RT: 8800231.139 MAX(B2C) RT: 8808906 MAX(S2C) RT: 8808903
TPS: 8187 FAIL: 0 AVG(B2C) RT: 8800838.594 AVG(S2C) RT: 8800836.053 MAX(B2C) RT: 8807161 MAX(S2C) RT: 8807159
...
           

根据上面我们汇总一个表格

业务 最大TPS 最大响应时间 业务占比 业务目标TPS 业务增长目标TPS 目标响应时间
49428 541 50% 500 1,428 5s
不考虑 50% 不考虑 不考虑 不考虑

生产者略有提升。消费者有较大提升

6. 容量测试

发送和消费同时开启,并且是多个主机:

线程按5递增,得出MQ并发的瓶颈,每次跑10min,出现错误即停止。

对比测试,当前生产环境RocketMq版本3.2.6 同步复制(目前生产环境采用这种方式)

先启动消费者,再启动生产者。

5线程

topic: BenchmarkTest, group: benchmark_consumer_56, suffix: true, filterType: null, expression: null

TPS: 5340 FAIL: 0 AVG(B2C) RT:  20.925 AVG(S2C) RT: 224044.760 MAX(B2C) RT: 467 MAX(S2C) RT: 226507
TPS: 5559 FAIL: 0 AVG(B2C) RT:  13.186 AVG(S2C) RT: 223855.298 MAX(B2C) RT: 603 MAX(S2C) RT: 226669
...
           

producer压测具体的结果可以查看附录。结果汇总成如下表格:

线程数 5 10 15 20 25 30 35 40
128bytes写TPS 2576 9302 12002 15122 19867 17130 20239 23623
128bytes写的error率
1kbytes写TPS 1662 7582 9152 9838 13830 16130 8404 2369
1kbytes写的error率 0.1% 0.1% 0.8% 1.69%
500kbyte写TPS 100 - - - - - - -
500kbyte写的error率 6% - - - - - - -

可以看出最后小消息TPS稳定在2万TPS左右。这个已经是目前生产环境的极限了。大消息发送频繁会出现异常。

对比测试,升级版本4.5.2 同步复制

producer压测具体的结果可以查看附录。结果汇总成如下表格:

线程数 5 10 15 20 25 30 35 40
128bytes写TPS 4817 7903 10038 11093 12007 10879 6809 5637
128bytes写的error率
1kbytes写TPS 4040 5370 5030 4002 3362 2563 2190 1366
1kbytes写的error率
500kbyte写TPS 175 - - - - - - -
500kbyte写的error率 1% - - - - - - -

对比测试,升级版本4.5.2 异步复制

两台压力机

topic BenchmarkTest threadCount 40 messageSize 128 keyEnable false

topic BenchmarkTest threadCount 40 messageSize 128 keyEnable false
04:31:24.072 [main] DEBUG i.n.u.i.l.InternalLoggerFactory - Using SLF4J as the default logging framework
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
Send TPS: 20548 Max RT: 557 Average RT:   1.997 Send Failed: 0 Response Failed: 0
Send TPS: 27986 Max RT: 557 Average RT:   1.427 Send Failed: 0 Response Failed: 0
Send TPS: 27157 Max RT: 557 Average RT:   1.471 Send Failed: 0 Response Failed: 0
Send TPS: 30966 Max RT: 557 Average RT:   1.290 Send Failed: 0 Response Failed: 0
Send TPS: 32334 Max RT: 557 Average RT:   1.235 Send Failed: 0 Response Failed: 0
Send TPS: 28290 Max RT: 557 Average RT:   1.412 Send Failed: 0 Response Failed: 0
Send TPS: 29130 Max RT: 557 Average RT:   1.372 Send Failed: 0 Response Failed: 0
Send TPS: 31974 Max RT: 557 Average RT:   1.249 Send Failed: 0 Response Failed: 0
Send TPS: 31052 Max RT: 557 Average RT:   1.286 Send Failed: 0 Response Failed: 0
Send TPS: 28974 Max RT: 557 Average RT:   1.367 Send Failed: 0 Response Failed: 0
           

topic test threadCount 40 messageSize 128 keyEnable false

topic test threadCount 40 messageSize 128 keyEnable false
04:31:37.391 [main] DEBUG i.n.u.i.l.InternalLoggerFactory - Using SLF4J as the default logging framework
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
Send TPS: 21405 Max RT: 903 Average RT:   1.942 Send Failed: 0 Response Failed: 0
Send TPS: 25909 Max RT: 903 Average RT:   1.542 Send Failed: 0 Response Failed: 0
Send TPS: 32055 Max RT: 903 Average RT:   1.246 Send Failed: 0 Response Failed: 0
Send TPS: 31571 Max RT: 903 Average RT:   1.265 Send Failed: 0 Response Failed: 0
Send TPS: 30076 Max RT: 903 Average RT:   1.328 Send Failed: 0 Response Failed: 0
Send TPS: 32059 Max RT: 903 Average RT:   1.246 Send Failed: 0 Response Failed: 0
Send TPS: 33260 Max RT: 903 Average RT:   1.201 Send Failed: 0 Response Failed: 0
Send TPS: 36836 Max RT: 903 Average RT:   1.084 Send Failed: 0 Response Failed: 0
Send TPS: 22359 Max RT: 1680 Average RT:   1.787 Send Failed: 0 Response Failed: 0
Send TPS: 29753 Max RT: 1680 Average RT:   1.343 Send Failed: 0 Response Failed: 0
Send TPS: 36455 Max RT: 1680 Average RT:   1.096 Send Failed: 0 Response Failed: 0
Send TPS: 30382 Max RT: 1680 Average RT:   1.315 Send Failed: 0 Response Failed: 0
Send TPS: 31035 Max RT: 1680 Average RT:   1.286 Send Failed: 0 Response Failed: 0
Send TPS: 28686 Max RT: 1680 Average RT:   1.393 Send Failed: 0 Response Failed: 0
Send TPS: 31151 Max RT: 1680 Average RT:   1.282 Send Failed: 0 Response Failed: 0
Send TPS: 32568 Max RT: 1680 Average RT:   1.227 Send Failed: 0 Response Failed: 0
           

消费者

TPS: 13974 FAIL: 0 AVG(B2C) RT: 295.560 AVG(S2C) RT: 291.630 MAX(B2C) RT: 1701 MAX(S2C) RT: 1698
TPS: 15967 FAIL: 0 AVG(B2C) RT: 249.117 AVG(S2C) RT: 245.577 MAX(B2C) RT: 1313 MAX(S2C) RT: 1308
TPS: 22275 FAIL: 0 AVG(B2C) RT: 755.954 AVG(S2C) RT: 752.267 MAX(B2C) RT: 2970 MAX(S2C) RT: 2966
TPS: 19467 FAIL: 0 AVG(B2C) RT: 516.846 AVG(S2C) RT: 513.127 MAX(B2C) RT: 2189 MAX(S2C) RT: 2186
TPS: 16526 FAIL: 0 AVG(B2C) RT: 216.683 AVG(S2C) RT: 213.183 MAX(B2C) RT: 1014 MAX(S2C) RT: 1010
TPS: 19736 FAIL: 0 AVG(B2C) RT: 748.191 AVG(S2C) RT: 744.608 MAX(B2C) RT: 3822 MAX(S2C) RT: 3819
TPS: 16378 FAIL: 0 AVG(B2C) RT: 344.954 AVG(S2C) RT: 341.350 MAX(B2C) RT: 1768 MAX(S2C) RT: 1764
TPS: 25322 FAIL: 0 AVG(B2C) RT: 2232.546 AVG(S2C) RT: 2229.024 MAX(B2C) RT: 4188 MAX(S2C) RT: 4184
TPS: 32302 FAIL: 0 AVG(B2C) RT: 2798.845 AVG(S2C) RT: 2795.327 MAX(B2C) RT: 6092 MAX(S2C) RT: 6089
TPS: 30236 FAIL: 0 AVG(B2C) RT: 3006.365 AVG(S2C) RT: 3002.848 MAX(B2C) RT: 6913 MAX(S2C) RT: 6910
TPS: 28059 FAIL: 0 AVG(B2C) RT: 3213.733 AVG(S2C) RT: 3210.176 MAX(B2C) RT: 8310 MAX(S2C) RT: 8307
TPS: 26583 FAIL: 0 AVG(B2C) RT: 3935.522 AVG(S2C) RT: 3931.988 MAX(B2C) RT: 10169 MAX(S2C) RT: 10166
TPS: 28371 FAIL: 0 AVG(B2C) RT: 4347.228 AVG(S2C) RT: 4343.741 MAX(B2C) RT: 11631 MAX(S2C) RT: 11628
TPS: 26458 FAIL: 0 AVG(B2C) RT: 4860.861 AVG(S2C) RT: 4857.361 MAX(B2C) RT: 12371 MAX(S2C) RT: 12368
TPS: 29565 FAIL: 0 AVG(B2C) RT: 5350.751 AVG(S2C) RT: 5347.217 MAX(B2C) RT: 13103 MAX(S2C) RT: 13100
TPS: 28269 FAIL: 0 AVG(B2C) RT: 5987.853 AVG(S2C) RT: 5984.317 MAX(B2C) RT: 13499 MAX(S2C) RT: 13496
TPS: 26753 FAIL: 0 AVG(B2C) RT: 6085.754 AVG(S2C) RT: 6082.192 MAX(B2C) RT: 13975 MAX(S2C) RT: 13972
TPS: 23037 FAIL: 0 AVG(B2C) RT: 6091.925 AVG(S2C) RT: 6088.336 MAX(B2C) RT: 14417 MAX(S2C) RT: 14414
TPS: 21499 FAIL: 0 AVG(B2C) RT: 5844.787 AVG(S2C) RT: 5841.198 MAX(B2C) RT: 14177 MAX(S2C) RT: 14174
TPS: 18440 FAIL: 0 AVG(B2C) RT: 5528.735 AVG(S2C) RT: 5525.165 MAX(B2C) RT: 15528 MAX(S2C) RT: 15524
TPS: 24551 FAIL: 0 AVG(B2C) RT: 6209.438 AVG(S2C) RT: 6205.958 MAX(B2C) RT: 15467 MAX(S2C) RT: 15465
           

根据上面我们汇总一个表格

业务

基准测试

最大TPS

基准测试

最大响应时间

容量测试平均TPS 容量测试平均响应时间 业务占比 业务目标TPS 业务增长目标TPS 目标响应时间
33279 541ms 60000 3ms 50% 500 1,428 5s
- 依赖消费者 不考虑 - 最大延时16671ms 50% 不考虑 不考虑 不考虑

从上面可以知道优化后的配置,tps远远大于我们的TPS。

7. 稳定性测试

并发64,发送和消费同时开启12小时/24小时,无异常情况。

8. 异常测试

并发20,kill掉一台broker,跑30分钟,tps波动不大即可。

9. 结果汇总分析

3.2.6版本 VS 4.5.2版本 128bytes写

并发数 3.2.6版本的TPS 3.2.6版本error% 4.5.2版本的TPS 4.5.2版本的error%
5 2576 4817
10 9302 7903
15 12002 10038
20 15122 11093
25 19867 12007
30 17130 10879
35 20239 6809
40 23623 5637

3.2.6版本 VS 4.5.2版本 1k写

并发数 3.2.6版本的TPS 3.2.6版本的error% 4.5.2的TPS 4.5.2的error%
5 1662 4040
10 7582 5370
15 9152 5030
20 9838 4002
25 13830 0.1% 3362
30 16130 0.1% 2563
35 8404 0.8% 2190
40 2369 1.69% 1366

3.2.6版本 VS 4.5.2版本 500bytes写

并发数 3.2.6版本的TPS 3.2.6版本的error% 4.5.2的TPS 4.5.2的error%
5 100 6% 175 1%

结合目标的TPS

业务 业务目标TPS 业务增长目标TPS
370 1100

结合以上表格可知:

  1. 4.5.2RocketMq同步复制目前在小消息体的情况下远远满足我们的TPS,但是大消息体还不能满足。建议大消息延长发送超时时间,或者拆分消息体。
  2. 4.5.2 的稳定性较3.2.6高。

建议配置

broker-a.properties

namesrvAddr=
brokerName=broker-a
brokerClusterName=BUSSMQ

defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10913
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88

storePathCommitLog=/data/rocketmq_data/store-a/commitlog/
storePathConsumerQueue=/data/rocketmq_data/store-a/consumequeue/
storePathIndex=/data/rocketmq_data/store-a/index/
abortFile=/data/rocketmq_data/store-a/abort
storeCheckpoint=/data/rocketmq_data/store-a/checkpoint
storePathRootDir=/data/rocketmq_data/store-a/

maxMessageSize=524288

flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000

brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH

checkTransactionMessageEnable=false

# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true

sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
haTransferBatchSize=524288

waitTimeMillsInSendQueue=6000

osPageCacheBusyTimeOutMills=6000

# 从可读
slaveReadEnable=true
# transferMsgByHeap默认true设置为false
# Broker响应消费请求时,不必将数据重新读到堆内存再发送给客户端;
# 直接从PageCache将数据发送给客户端
transferMsgByHeap=false
           

broker-b.properties

brokerClusterName=BUSSMQ
brokerName=broker-b
brokerId=0

namesrvAddr=
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10913
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88

storePathCommitLog=/data/rocketmq_data/store-b/commitlog/
storePathConsumerQueue=/data/rocketmq_data/store-b/consumequeue/
storePathIndex=/data/rocketmq_data/store-b/index/
abortFile=/data/rocketmq_data/store-b/abort
storeCheckpoint=/data/rocketmq_data/store-b/checkpoint
storePathRootDir=/data/rocketmq_data/store-b/

maxMessageSize=524288

flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000

brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH
checkTransactionMessageEnable=false

# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true

sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
haTransferBatchSize=524288
# 从可读
slaveReadEnable=true
# transferMsgByHeap默认true设置为false
# Broker响应消费请求时,不必将数据重新读到堆内存再发送给客户端;
# 直接从PageCache将数据发送给客户端
transferMsgByHeap=false
           

broker-a-s.properties

brokerClusterName=BUSSMQ
brokerName=broker-a
brokerId=1

namesrvAddr=
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88

storePathCommitLog=/data/rocketmq_data/store-a-s/commitlog/
storePathConsumerQueue=/data/rocketmq_data/store-a-s/consumequeue/
storePathIndex=/data/rocketmq_data/store-a-s/index/
abortFile=/data/rocketmq_data/store-a-s/abort
storeCheckpoint=/data/rocketmq_data/store-a-s/checkpoint
storePathRootDir=/data/rocketmq_data/store-a-s/

maxMessageSize=524288

flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000

brokerRole=SLAVE
flushDiskType=SYNC_FLUSH
checkTransactionMessageEnable=false

# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true

sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
haTransferBatchSize=524288

waitTimeMillsInSendQueue=6000

osPageCacheBusyTimeOutMills=6000
# 从可读
slaveReadEnable=true
# transferMsgByHeap默认true设置为false
# Broker响应消费请求时,不必将数据重新读到堆内存再发送给客户端;
# 直接从PageCache将数据发送给客户端
transferMsgByHeap=false
           

broker-b-s.properties

brokerClusterName=BUSSMQ
brokerName=broker-b
brokerId=1

namesrvAddr=
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88

storePathCommitLog=/data/rocketmq_data/store-b-s/commitlog/
storePathConsumerQueue=/data/rocketmq_data/store-b-s/consumequeue/
storePathIndex=/data/rocketmq_data/store-b-s/index/
abortFile=/data/rocketmq_data/store-b-s/abort
storeCheckpoint=/data/rocketmq_data/store-b-s/checkpoint
storePathRootDir=/data/rocketmq_data/store-b-s/

maxMessageSize=524288

flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000

brokerRole=SLAVE
flushDiskType=SYNC_FLUSH

checkTransactionMessageEnable=false
# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true

slaveReadEnable=true
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
haTransferBatchSize=524288

waitTimeMillsInSendQueue=6000

osPageCacheBusyTimeOutMills=6000

# 从可读
slaveReadEnable=true
# transferMsgByHeap默认true设置为false
# Broker响应消费请求时,不必将数据重新读到堆内存再发送给客户端;
# 直接从PageCache将数据发送给客户端
transferMsgByHeap=false
           

建议手动创建Topic和消费者。

slaveReadEnable=true配合订阅组配置信息:whichBrokerWhenConsumeSlowly、brokerId的值能得到更好的性能(配置消费慢的时候,从slave节点消费,而不是主节点。)。

transientStorePoolEnable=true配置不能上,参考别的公司的,RocketMq主机内存单机直接给到45GB,我们压测过程中,加上这个参数,因为大量swap,导致很多发送失败。

附录

容量测试具体数据

当前生产环境RocketMq版本3.2.6 同步复制

1kbytes写的样本非常不稳定,我取得是中位数代表改线程的tps。

5线程 128bytes

Send TPS: 2318 Max RT: 548 Average RT:   2.153 Send Failed: 0 Response Failed: 0
Send TPS: 3499 Max RT: 548 Average RT:   1.424 Send Failed: 0 Response Failed: 0
Send TPS: 3471 Max RT: 548 Average RT:   1.437 Send Failed: 0 Response Failed: 0
Send TPS: 3409 Max RT: 548 Average RT:   1.464 Send Failed: 0 Response Failed: 0
Send TPS: 3512 Max RT: 548 Average RT:   1.421 Send Failed: 0 Response Failed: 0
Send TPS: 2968 Max RT: 548 Average RT:   1.682 Send Failed: 0 Response Failed: 0
Send TPS: 2857 Max RT: 548 Average RT:   1.752 Send Failed: 0 Response Failed: 0
Send TPS: 2576 Max RT: 548 Average RT:   1.937 Send Failed: 0 Response Failed: 0
Send TPS: 2375 Max RT: 548 Average RT:   2.101 Send Failed: 0 Response Failed: 0
Send TPS: 2137 Max RT: 548 Average RT:   2.336 Send Failed: 0 Response Failed: 0
Send TPS: 1943 Max RT: 548 Average RT:   2.569 Send Failed: 0 Response Failed: 0
Send TPS: 1964 Max RT: 548 Average RT:   2.542 Send Failed: 0 Response Failed: 0
Send TPS: 1931 Max RT: 548 Average RT:   2.586 Send Failed: 0 Response Failed: 0
Send TPS: 1988 Max RT: 548 Average RT:   2.513 Send Failed: 0 Response Failed: 0
Send TPS: 1853 Max RT: 548 Average RT:   2.695 Send Failed: 0 Response Failed: 0
Send TPS: 2034 Max RT: 548 Average RT:   2.455 Send Failed: 0 Response Failed: 0
Send TPS: 1782 Max RT: 548 Average RT:   2.800 Send Failed: 0 Response Failed: 0
Send TPS: 2106 Max RT: 548 Average RT:   2.372 Send Failed: 0 Response Failed: 0
Send TPS: 1911 Max RT: 548 Average RT:   2.614 Send Failed: 0 Response Failed: 0
Send TPS: 1841 Max RT: 548 Average RT:   2.713 Send Failed: 0 Response Failed: 0
           

5线程 1k

Send TPS: 1662 Max RT: 539 Average RT:   3.020 Send Failed: 0 Response Failed: 0
Send TPS: 1101 Max RT: 539 Average RT:   4.521 Send Failed: 0 Response Failed: 0
Send TPS: 1213 Max RT: 539 Average RT:   4.116 Send Failed: 0 Response Failed: 0
Send TPS: 1895 Max RT: 539 Average RT:   2.632 Send Failed: 0 Response Failed: 0
Send TPS: 2148 Max RT: 539 Average RT:   2.308 Send Failed: 0 Response Failed: 0
           

10线程 128bytes

Send TPS: 7609 Max RT: 324 Average RT:   1.312 Send Failed: 0 Response Failed: 0
Send TPS: 9813 Max RT: 324 Average RT:   1.017 Send Failed: 0 Response Failed: 0
Send TPS: 9848 Max RT: 324 Average RT:   1.013 Send Failed: 0 Response Failed: 0
Send TPS: 9302 Max RT: 324 Average RT:   1.073 Send Failed: 0 Response Failed: 0
Send TPS: 9798 Max RT: 324 Average RT:   1.020 Send Failed: 0 Response Failed: 0
Send TPS: 9870 Max RT: 324 Average RT:   1.011 Send Failed: 0 Response Failed: 0
Send TPS: 9928 Max RT: 324 Average RT:   1.005 Send Failed: 0 Response Failed: 0
Send TPS: 9840 Max RT: 324 Average RT:   1.014 Send Failed: 0 Response Failed: 0
           

10线程1k

send TPS: 7582 Max RT: 378 Average RT:   1.309 Send Failed: 0 Response Failed: 0
Send TPS: 9801 Max RT: 378 Average RT:   1.012 Send Failed: 0 Response Failed: 0
Send TPS: 7044 Max RT: 378 Average RT:   1.408 Send Failed: 0 Response Failed: 0
Send TPS: 1873 Max RT: 378 Average RT:   5.330 Send Failed: 0 Response Failed: 0
Send TPS: 1131 Max RT: 378 Average RT:   8.807 Send Failed: 0 Response Failed: 0
Send TPS: 2295 Max RT: 603 Average RT:   4.350 Send Failed: 0 Response Failed: 0
Send TPS: 2128 Max RT: 603 Average RT:   4.687 Send Failed: 0 Response Failed: 0
Send TPS: 3089 Max RT: 603 Average RT:   3.237 Send Failed: 0 Response Failed: 0
Send TPS: 8523 Max RT: 603 Average RT:   1.163 Send Failed: 0 Response Failed: 0
Send TPS: 9392 Max RT: 603 Average RT:   1.055 Send Failed: 0 Response Failed: 0
Send TPS: 9255 Max RT: 603 Average RT:   1.071 Send Failed: 0 Response Failed: 0
           

15线程128bytes

Send TPS: 10077 Max RT: 320 Average RT:   1.489 Send Failed: 0 Response Failed: 0
Send TPS: 12091 Max RT: 320 Average RT:   1.239 Send Failed: 0 Response Failed: 0
Send TPS: 11800 Max RT: 320 Average RT:   1.269 Send Failed: 0 Response Failed: 0
Send TPS: 11719 Max RT: 320 Average RT:   1.279 Send Failed: 0 Response Failed: 0
Send TPS: 12002 Max RT: 320 Average RT:   1.247 Send Failed: 0 Response Failed: 0
Send TPS: 13087 Max RT: 320 Average RT:   1.145 Send Failed: 0 Response Failed: 0
Send TPS: 13441 Max RT: 320 Average RT:   1.114 Send Failed: 0 Response Failed: 0
Send TPS: 13372 Max RT: 320 Average RT:   1.120 Send Failed: 0 Response Failed: 0
Send TPS: 13039 Max RT: 320 Average RT:   1.149 Send Failed: 0 Response Failed: 0
Send TPS: 13181 Max RT: 320 Average RT:   1.136 Send Failed: 0 Response Failed: 0
           

15线程1k

Send TPS: 2915 Max RT: 323 Average RT:   5.108 Send Failed: 0 Response Failed: 0
Send TPS: 1606 Max RT: 374 Average RT:   9.370 Send Failed: 0 Response Failed: 0
Send TPS: 1380 Max RT: 504 Average RT:  10.851 Send Failed: 0 Response Failed: 0
Send TPS: 2576 Max RT: 504 Average RT:   5.864 Send Failed: 0 Response Failed: 0
Send TPS: 1717 Max RT: 504 Average RT:   8.736 Send Failed: 0 Response Failed: 0
Send TPS: 7057 Max RT: 504 Average RT:   2.114 Send Failed: 0 Response Failed: 0
Send TPS: 11624 Max RT: 504 Average RT:   1.282 Send Failed: 0 Response Failed: 0
Send TPS: 11873 Max RT: 504 Average RT:   1.255 Send Failed: 0 Response Failed: 0
Send TPS: 4455 Max RT: 504 Average RT:   3.139 Send Failed: 0 Response Failed: 0
Send TPS: 1234 Max RT: 796 Average RT:  12.118 Send Failed: 0 Response Failed: 0
Send TPS: 1322 Max RT: 796 Average RT:  11.033 Send Failed: 0 Response Failed: 0
Send TPS: 2812 Max RT: 796 Average RT:   5.319 Send Failed: 0 Response Failed: 0
Send TPS: 3601 Max RT: 796 Average RT:   4.180 Send Failed: 0 Response Failed: 0
Send TPS: 9152 Max RT: 796 Average RT:   1.632 Send Failed: 0 Response Failed: 0
           

20线程128bytes

Send TPS: 11675 Max RT: 446 Average RT:   1.711 Send Failed: 0 Response Failed: 0
Send TPS: 15269 Max RT: 446 Average RT:   1.308 Send Failed: 0 Response Failed: 0
Send TPS: 14062 Max RT: 446 Average RT:   1.420 Send Failed: 0 Response Failed: 0
Send TPS: 14375 Max RT: 446 Average RT:   1.389 Send Failed: 0 Response Failed: 0
Send TPS: 15122 Max RT: 446 Average RT:   1.321 Send Failed: 0 Response Failed: 0
Send TPS: 14289 Max RT: 446 Average RT:   1.398 Send Failed: 0 Response Failed: 0
Send TPS: 14909 Max RT: 446 Average RT:   1.340 Send Failed: 0 Response Failed: 0
Send TPS: 14830 Max RT: 446 Average RT:   1.347 Send Failed: 0 Response Failed: 0
Send TPS: 15697 Max RT: 446 Average RT:   1.272 Send Failed: 0 Response Failed: 0
Send TPS: 14531 Max RT: 446 Average RT:   1.375 Send Failed: 0 Response Failed: 0
           

25线程128bytes

Send TPS: 12341 Max RT: 504 Average RT:   2.027 Send Failed: 0 Response Failed: 0
Send TPS: 16280 Max RT: 504 Average RT:   1.533 Send Failed: 0 Response Failed: 0
Send TPS: 17209 Max RT: 504 Average RT:   1.450 Send Failed: 0 Response Failed: 0
Send TPS: 18142 Max RT: 504 Average RT:   1.377 Send Failed: 0 Response Failed: 0
Send TPS: 16936 Max RT: 504 Average RT:   1.474 Send Failed: 0 Response Failed: 0
Send TPS: 16578 Max RT: 504 Average RT:   1.506 Send Failed: 0 Response Failed: 0
Send TPS: 17130 Max RT: 504 Average RT:   1.458 Send Failed: 0 Response Failed: 0
Send TPS: 18351 Max RT: 504 Average RT:   1.361 Send Failed: 0 Response Failed: 0
Send TPS: 16888 Max RT: 504 Average RT:   1.479 Send Failed: 0 Response Failed: 0
Send TPS: 16936 Max RT: 504 Average RT:   1.476 Send Failed: 0 Response Failed: 0
Send TPS: 17343 Max RT: 504 Average RT:   1.440 Send Failed: 0 Response Failed: 0
           

25线程1k

Send TPS: 1434 Max RT: 397 Average RT:  13.899 Send Failed: 0 Response Failed: 0
Send TPS: 2627 Max RT: 741 Average RT:   7.608 Send Failed: 0 Response Failed: 0
Send TPS: 3426 Max RT: 741 Average RT:   5.853 Send Failed: 0 Response Failed: 0
Send TPS: 13831 Max RT: 741 Average RT:   1.438 Send Failed: 0 Response Failed: 0
Send TPS: 14501 Max RT: 741 Average RT:   1.371 Send Failed: 0 Response Failed: 0
Send TPS: 4743 Max RT: 741 Average RT:   4.187 Send Failed: 0 Response Failed: 0
Send TPS: 887 Max RT: 1938 Average RT:  22.474 Send Failed: 0 Response Failed: 0
Send TPS: 955 Max RT: 1938 Average RT:  20.940 Send Failed: 0 Response Failed: 0
Send TPS: 1839 Max RT: 1938 Average RT:  10.864 Send Failed: 0 Response Failed: 0
Send TPS: 3617 Max RT: 1938 Average RT:   5.456 Send Failed: 0 Response Failed: 0
Send TPS: 9838 Max RT: 1938 Average RT:   2.166 Send Failed: 0 Response Failed: 0
Send TPS: 15418 Max RT: 1938 Average RT:   1.290 Send Failed: 0 Response Failed: 0
Send TPS: 9771 Max RT: 1938 Average RT:   2.034 Send Failed: 0 Response Failed: 0
Send TPS: 736 Max RT: 1938 Average RT:  10.310 Send Failed: 19 Response Failed: 0
Send TPS: 625 Max RT: 1938 Average RT:  17.505 Send Failed: 34 Response Failed: 0
           

30线程128bytes

Send TPS: 15948 Max RT: 545 Average RT:   1.914 Send Failed: 0 Response Failed: 0
Send TPS: 19646 Max RT: 545 Average RT:   1.526 Send Failed: 0 Response Failed: 0
Send TPS: 19663 Max RT: 545 Average RT:   1.524 Send Failed: 0 Response Failed: 0
Send TPS: 19838 Max RT: 545 Average RT:   1.511 Send Failed: 0 Response Failed: 0
Send TPS: 19867 Max RT: 545 Average RT:   1.508 Send Failed: 0 Response Failed: 0
Send TPS: 19889 Max RT: 545 Average RT:   1.507 Send Failed: 0 Response Failed: 0
Send TPS: 18919 Max RT: 545 Average RT:   1.584 Send Failed: 0 Response Failed: 0
Send TPS: 19213 Max RT: 545 Average RT:   1.560 Send Failed: 0 Response Failed: 0
Send TPS: 19708 Max RT: 545 Average RT:   1.521 Send Failed: 0 Response Failed: 0
Send TPS: 19613 Max RT: 545 Average RT:   1.528 Send Failed: 0 Response Failed: 0
           

30线程1k

Send TPS: 2871 Max RT: 378 Average RT:  10.439 Send Failed: 0 Response Failed: 0
Send TPS: 2519 Max RT: 626 Average RT:  11.872 Send Failed: 0 Response Failed: 0
Send TPS: 2860 Max RT: 687 Average RT:  10.944 Send Failed: 0 Response Failed: 0
Send TPS: 3294 Max RT: 860 Average RT:   9.126 Send Failed: 0 Response Failed: 0
Send TPS: 16212 Max RT: 860 Average RT:   1.849 Send Failed: 0 Response Failed: 0
Send TPS: 11095 Max RT: 860 Average RT:   2.692 Send Failed: 0 Response Failed: 0
Send TPS: 13094 Max RT: 915 Average RT:   2.284 Send Failed: 29 Response Failed: 0
Send TPS: 15724 Max RT: 915 Average RT:   1.895 Send Failed: 29 Response Failed: 0
Send TPS: 17374 Max RT: 915 Average RT:   1.717 Send Failed: 29 Response Failed: 0
Send TPS: 16252 Max RT: 1892 Average RT:   1.836 Send Failed: 59 Response Failed: 0
Send TPS: 13310 Max RT: 1927 Average RT:   2.244 Send Failed: 89 Response Failed: 0
Send TPS: 15141 Max RT: 1927 Average RT:   1.963 Send Failed: 89 Response Failed: 0
Send TPS: 3100 Max RT: 2671 Average RT:   9.426 Send Failed: 134 Response Failed: 0
Send TPS: 2028 Max RT: 2671 Average RT:  14.738 Send Failed: 134 Response Failed: 0
Send TPS: 2148 Max RT: 2671 Average RT:  14.094 Send Failed: 134 Response Failed: 0
           

35线程128bytes

Send TPS: 13132 Max RT: 385 Average RT:   2.664 Send Failed: 0 Response Failed: 0
Send TPS: 17408 Max RT: 385 Average RT:   2.008 Send Failed: 0 Response Failed: 0
Send TPS: 17180 Max RT: 385 Average RT:   2.036 Send Failed: 0 Response Failed: 0
Send TPS: 18265 Max RT: 385 Average RT:   1.915 Send Failed: 0 Response Failed: 0
Send TPS: 17922 Max RT: 385 Average RT:   1.951 Send Failed: 0 Response Failed: 0
Send TPS: 16999 Max RT: 385 Average RT:   2.059 Send Failed: 0 Response Failed: 0
Send TPS: 17589 Max RT: 385 Average RT:   1.988 Send Failed: 0 Response Failed: 0
Send TPS: 20879 Max RT: 385 Average RT:   1.675 Send Failed: 0 Response Failed: 0
Send TPS: 21033 Max RT: 385 Average RT:   1.662 Send Failed: 0 Response Failed: 0
Send TPS: 17163 Max RT: 385 Average RT:   2.048 Send Failed: 0 Response Failed: 0
Send TPS: 16745 Max RT: 385 Average RT:   2.088 Send Failed: 0 Response Failed: 0
Send TPS: 15947 Max RT: 385 Average RT:   2.193 Send Failed: 0 Response Failed: 0
Send TPS: 17833 Max RT: 385 Average RT:   1.961 Send Failed: 0 Response Failed: 0
Send TPS: 17861 Max RT: 385 Average RT:   1.958 Send Failed: 0 Response Failed: 0
           

35线程1k

Send TPS: 8404 Max RT: 594 Average RT:   4.141 Send Failed: 0 Response Failed: 0
Send TPS: 466 Max RT: 2664 Average RT:  28.040 Send Failed: 33 Response Failed: 0
Send TPS: 982 Max RT: 2664 Average RT:  35.168 Send Failed: 33 Response Failed: 0
Send TPS: 1555 Max RT: 2664 Average RT:  23.172 Send Failed: 33 Response Failed: 0
Send TPS: 3007 Max RT: 2664 Average RT:  11.505 Send Failed: 33 Response Failed: 0
Send TPS: 4966 Max RT: 2664 Average RT:   7.057 Send Failed: 33 Response Failed: 0
Send TPS: 1036 Max RT: 2704 Average RT:  33.800 Send Failed: 33 Response Failed: 0
Send TPS: 1010 Max RT: 2704 Average RT:  34.694 Send Failed: 33 Response Failed: 0
Send TPS: 1163 Max RT: 2704 Average RT:  30.031 Send Failed: 33 Response Failed: 0
Send TPS: 524 Max RT: 2704 Average RT:  66.587 Send Failed: 33 Response Failed: 0
Send TPS: 755 Max RT: 2704 Average RT:  46.457 Send Failed: 33 Response Failed: 0
Send TPS: 892 Max RT: 2704 Average RT:  39.167 Send Failed: 33 Response Failed: 0
Send TPS: 1814 Max RT: 2704 Average RT:  19.400 Send Failed: 33 Response Failed: 0
           

40线程128bytes

Send TPS: 18309 Max RT: 498 Average RT:   2.206 Send Failed: 0 Response Failed: 0
Send TPS: 19705 Max RT: 498 Average RT:   2.028 Send Failed: 0 Response Failed: 0
Send TPS: 18701 Max RT: 498 Average RT:   2.137 Send Failed: 0 Response Failed: 0
Send TPS: 20239 Max RT: 498 Average RT:   1.974 Send Failed: 0 Response Failed: 0
Send TPS: 22104 Max RT: 498 Average RT:   1.808 Send Failed: 0 Response Failed: 0
Send TPS: 23623 Max RT: 498 Average RT:   1.689 Send Failed: 0 Response Failed: 0
Send TPS: 24717 Max RT: 498 Average RT:   1.616 Send Failed: 0 Response Failed: 0
Send TPS: 23753 Max RT: 498 Average RT:   1.682 Send Failed: 0 Response Failed: 0
Send TPS: 23865 Max RT: 498 Average RT:   1.674 Send Failed: 0 Response Failed: 0
Send TPS: 25048 Max RT: 498 Average RT:   1.585 Send Failed: 0 Response Failed: 0
Send TPS: 23372 Max RT: 498 Average RT:   1.704 Send Failed: 0 Response Failed: 0
Send TPS: 24694 Max RT: 498 Average RT:   1.618 Send Failed: 0 Response Failed: 0
           

40线程1k

Send TPS: 1255 Max RT: 2330 Average RT:  32.111 Send Failed: 0 Response Failed: 0
Send TPS: 909 Max RT: 2330 Average RT:  43.964 Send Failed: 0 Response Failed: 0
Send TPS: 1163 Max RT: 2330 Average RT:  34.451 Send Failed: 0 Response Failed: 0
Send TPS: 2230 Max RT: 2330 Average RT:  17.976 Send Failed: 0 Response Failed: 0
Send TPS: 2369 Max RT: 2330 Average RT:  16.996 Send Failed: 0 Response Failed: 0
Send TPS: 1786 Max RT: 2330 Average RT:  22.398 Send Failed: 0 Response Failed: 0
Send TPS: 2342 Max RT: 2330 Average RT:  17.082 Send Failed: 0 Response Failed: 0
Send TPS: 3038 Max RT: 2330 Average RT:  13.164 Send Failed: 0 Response Failed: 0
Send TPS: 2356 Max RT: 2330 Average RT:  16.990 Send Failed: 0 Response Failed: 0
Send TPS: 1967 Max RT: 2330 Average RT:  20.299 Send Failed: 0 Response Failed: 0
Send TPS: 1147 Max RT: 2330 Average RT:  23.464 Send Failed: 37 Response Failed: 0
Send TPS: 1023 Max RT: 2330 Average RT:  29.976 Send Failed: 40 Response Failed: 0
Send TPS: 1869 Max RT: 2330 Average RT:  21.395 Send Failed: 40 Response Failed: 0
Send TPS: 945 Max RT: 2330 Average RT:  42.190 Send Failed: 40 Response Failed: 0
Send TPS: 1639 Max RT: 2330 Average RT:  24.605 Send Failed: 40 Response Failed: 0
           

5线程500k

Send TPS: 160 Max RT: 473 Average RT:  28.779 Send Failed: 0 Response Failed: 0
Send TPS: 171 Max RT: 499 Average RT:  22.621 Send Failed: 0 Response Failed: 0
Send TPS: 112 Max RT: 1511 Average RT:  40.452 Send Failed: 4 Response Failed: 0
Send TPS: 80 Max RT: 1860 Average RT:  60.799 Send Failed: 4 Response Failed: 0
Send TPS: 46 Max RT: 1860 Average RT: 104.282 Send Failed: 4 Response Failed: 0
Send TPS: 46 Max RT: 1860 Average RT: 103.236 Send Failed: 4 Response Failed: 0
Send TPS: 49 Max RT: 1860 Average RT:  96.000 Send Failed: 6 Response Failed: 0
Send TPS: 94 Max RT: 1860 Average RT:  49.370 Send Failed: 6 Response Failed: 0
           

对比测试,升级版本4.5.2 同步复制

5线程128bytes

Send TPS: 4767 Max RT: 405 Average RT:   1.046 Send Failed: 0 Response Failed: 0
Send TPS: 4517 Max RT: 405 Average RT:   1.105 Send Failed: 0 Response Failed: 0
Send TPS: 3402 Max RT: 405 Average RT:   1.468 Send Failed: 0 Response Failed: 0
Send TPS: 4526 Max RT: 405 Average RT:   1.102 Send Failed: 0 Response Failed: 0
Send TPS: 5014 Max RT: 405 Average RT:   0.996 Send Failed: 0 Response Failed: 0
Send TPS: 4907 Max RT: 405 Average RT:   1.017 Send Failed: 0 Response Failed: 0
Send TPS: 4817 Max RT: 405 Average RT:   1.036 Send Failed: 0 Response Failed: 0
Send TPS: 5079 Max RT: 405 Average RT:   0.983 Send Failed: 0 Response Failed: 0
Send TPS: 5025 Max RT: 405 Average RT:   0.992 Send Failed: 0 Response Failed: 0
Send TPS: 4822 Max RT: 405 Average RT:   1.034 Send Failed: 0 Response Failed: 0
...
           

10线程128bytes

Send TPS: 7576 Max RT: 383 Average RT:   1.317 Send Failed: 0 Response Failed: 0
Send TPS: 8036 Max RT: 383 Average RT:   1.241 Send Failed: 0 Response Failed: 0
Send TPS: 7903 Max RT: 383 Average RT:   1.263 Send Failed: 0 Response Failed: 0
Send TPS: 7302 Max RT: 383 Average RT:   1.367 Send Failed: 0 Response Failed: 0
Send TPS: 8033 Max RT: 383 Average RT:   1.242 Send Failed: 0 Response Failed: 0
Send TPS: 7667 Max RT: 383 Average RT:   1.303 Send Failed: 0 Response Failed: 0
Send TPS: 7721 Max RT: 383 Average RT:   1.292 Send Failed: 0 Response Failed: 0
Send TPS: 7997 Max RT: 383 Average RT:   1.247 Send Failed: 0 Response Failed: 0
...
           

15线程128bytes

Send TPS: 9081 Max RT: 492 Average RT:   1.651 Send Failed: 0 Response Failed: 0
Send TPS: 10038 Max RT: 492 Average RT:   1.491 Send Failed: 0 Response Failed: 0
Send TPS: 10386 Max RT: 492 Average RT:   1.442 Send Failed: 0 Response Failed: 0
Send TPS: 10895 Max RT: 492 Average RT:   1.375 Send Failed: 0 Response Failed: 0
Send TPS: 9983 Max RT: 492 Average RT:   1.500 Send Failed: 0 Response Failed: 0
Send TPS: 10931 Max RT: 492 Average RT:   1.370 Send Failed: 0 Response Failed: 0
Send TPS: 10576 Max RT: 492 Average RT:   1.415 Send Failed: 0 Response Failed: 0
Send TPS: 10187 Max RT: 492 Average RT:   1.470 Send Failed: 0 Response Failed: 0
Send TPS: 11088 Max RT: 492 Average RT:   1.351 Send Failed: 0 Response Failed: 0
...
           

20线程128bytes

Send TPS: 11337 Max RT: 558 Average RT:   1.761 Send Failed: 0 Response Failed: 0
Send TPS: 11009 Max RT: 558 Average RT:   1.814 Send Failed: 0 Response Failed: 0
Send TPS: 12781 Max RT: 558 Average RT:   1.563 Send Failed: 0 Response Failed: 0
Send TPS: 12421 Max RT: 558 Average RT:   1.608 Send Failed: 0 Response Failed: 0
Send TPS: 11343 Max RT: 558 Average RT:   1.760 Send Failed: 0 Response Failed: 0
Send TPS: 11338 Max RT: 558 Average RT:   1.761 Send Failed: 0 Response Failed: 0
Send TPS: 11093 Max RT: 558 Average RT:   1.801 Send Failed: 0 Response Failed: 0
Send TPS: 10126 Max RT: 558 Average RT:   1.973 Send Failed: 0 Response Failed: 0
...
           

25线程128bytes

Send TPS: 10825 Max RT: 511 Average RT:   2.298 Send Failed: 0 Response Failed: 0
Send TPS: 10653 Max RT: 511 Average RT:   2.344 Send Failed: 0 Response Failed: 0
Send TPS: 10938 Max RT: 511 Average RT:   2.282 Send Failed: 0 Response Failed: 0
Send TPS: 12007 Max RT: 511 Average RT:   2.081 Send Failed: 0 Response Failed: 0
Send TPS: 10879 Max RT: 511 Average RT:   2.295 Send Failed: 0 Response Failed: 0
Send TPS: 10689 Max RT: 511 Average RT:   2.332 Send Failed: 0 Response Failed: 0
...
           

30线程128bytes

Send TPS: 10825 Max RT: 511 Average RT:   2.298 Send Failed: 0 Response Failed: 0
Send TPS: 10653 Max RT: 511 Average RT:   2.344 Send Failed: 0 Response Failed: 0
Send TPS: 10938 Max RT: 511 Average RT:   2.282 Send Failed: 0 Response Failed: 0
Send TPS: 12007 Max RT: 511 Average RT:   2.081 Send Failed: 0 Response Failed: 0
Send TPS: 10879 Max RT: 511 Average RT:   2.295 Send Failed: 0 Response Failed: 0
Send TPS: 10689 Max RT: 511 Average RT:   2.332 Send Failed: 0 Response Failed: 0
...
           

35线程128bytes

Send TPS: 6720 Max RT: 699 Average RT:   5.398 Send Failed: 0 Response Failed: 0
Send TPS: 5812 Max RT: 699 Average RT:   6.005 Send Failed: 0 Response Failed: 0
Send TPS: 6809 Max RT: 699 Average RT:   5.144 Send Failed: 0 Response Failed: 0
Send TPS: 5493 Max RT: 699 Average RT:   6.473 Send Failed: 0 Response Failed: 0
Send TPS: 5392 Max RT: 699 Average RT:   6.516 Send Failed: 0 Response Failed: 0
Send TPS: 6656 Max RT: 699 Average RT:   5.259 Send Failed: 0 Response Failed: 0
Send TPS: 5202 Max RT: 699 Average RT:   6.698 Send Failed: 0 Response Failed: 0
Send TPS: 6152 Max RT: 699 Average RT:   5.706 Send Failed: 0 Response Failed: 0
Send TPS: 6840 Max RT: 699 Average RT:   5.109 Send Failed: 0 Response Failed: 0
...
           

40线程128bytes

Send TPS: 6198 Max RT: 591 Average RT:   6.528 Send Failed: 0 Response Failed: 0
Send TPS: 4105 Max RT: 591 Average RT:   9.684 Send Failed: 0 Response Failed: 0
Send TPS: 5073 Max RT: 591 Average RT:   7.894 Send Failed: 0 Response Failed: 0
Send TPS: 5637 Max RT: 591 Average RT:   7.075 Send Failed: 0 Response Failed: 0
Send TPS: 6024 Max RT: 591 Average RT:   6.641 Send Failed: 0 Response Failed: 0
Send TPS: 6692 Max RT: 591 Average RT:   6.008 Send Failed: 0 Response Failed: 0
Send TPS: 5801 Max RT: 591 Average RT:   6.900 Send Failed: 0 Response Failed: 0
...
           

5线程1k

Send TPS: 3213 Max RT: 270 Average RT:   1.542 Send Failed: 0 Response Failed: 0
Send TPS: 4015 Max RT: 270 Average RT:   1.231 Send Failed: 0 Response Failed: 0
Send TPS: 4134 Max RT: 270 Average RT:   1.197 Send Failed: 0 Response Failed: 0
Send TPS: 4395 Max RT: 270 Average RT:   1.125 Send Failed: 0 Response Failed: 0
Send TPS: 4285 Max RT: 270 Average RT:   1.157 Send Failed: 0 Response Failed: 0
Send TPS: 4143 Max RT: 270 Average RT:   1.196 Send Failed: 0 Response Failed: 0
Send TPS: 4040 Max RT: 270 Average RT:   1.227 Send Failed: 0 Response Failed: 0
...
           

10线程1k

Send TPS: 5486 Max RT: 326 Average RT:   1.811 Send Failed: 0 Response Failed: 0
Send TPS: 6218 Max RT: 326 Average RT:   1.597 Send Failed: 0 Response Failed: 0
Send TPS: 6136 Max RT: 326 Average RT:   1.619 Send Failed: 0 Response Failed: 0
Send TPS: 5446 Max RT: 326 Average RT:   1.822 Send Failed: 0 Response Failed: 0
Send TPS: 5370 Max RT: 326 Average RT:   1.851 Send Failed: 0 Response Failed: 0
Send TPS: 4767 Max RT: 326 Average RT:   2.086 Send Failed: 0 Response Failed: 0
Send TPS: 4817 Max RT: 326 Average RT:   2.066 Send Failed: 0 Response Failed: 0
Send TPS: 4901 Max RT: 326 Average RT:   2.030 Send Failed: 0 Response Failed: 0
Send TPS: 4869 Max RT: 326 Average RT:   2.045 Send Failed: 0 Response Failed: 0
...
           

15线程1k

Send TPS: 5021 Max RT: 314 Average RT:   2.976 Send Failed: 0 Response Failed: 0
Send TPS: 4540 Max RT: 314 Average RT:   3.296 Send Failed: 0 Response Failed: 0
Send TPS: 4523 Max RT: 314 Average RT:   3.301 Send Failed: 0 Response Failed: 0
Send TPS: 4153 Max RT: 314 Average RT:   3.592 Send Failed: 0 Response Failed: 0
Send TPS: 4123 Max RT: 314 Average RT:   3.627 Send Failed: 0 Response Failed: 0
Send TPS: 4643 Max RT: 314 Average RT:   3.211 Send Failed: 0 Response Failed: 0
Send TPS: 4777 Max RT: 314 Average RT:   3.126 Send Failed: 0 Response Failed: 0
Send TPS: 5030 Max RT: 314 Average RT:   2.969 Send Failed: 0 Response Failed: 0
Send TPS: 4159 Max RT: 314 Average RT:   3.598 Send Failed: 0 Response Failed: 0
...
           

20线程1k

Send TPS: 3248 Max RT: 400 Average RT:   6.115 Send Failed: 0 Response Failed: 0
Send TPS: 2868 Max RT: 400 Average RT:   6.964 Send Failed: 0 Response Failed: 0
Send TPS: 1825 Max RT: 400 Average RT:  10.937 Send Failed: 0 Response Failed: 0
Send TPS: 4002 Max RT: 400 Average RT:   4.975 Send Failed: 0 Response Failed: 0
Send TPS: 2036 Max RT: 400 Average RT:   9.799 Send Failed: 0 Response Failed: 0
Send TPS: 2748 Max RT: 400 Average RT:   7.271 Send Failed: 0 Response Failed: 0
Send TPS: 2921 Max RT: 400 Average RT:   6.850 Send Failed: 0 Response Failed: 0
Send TPS: 2668 Max RT: 400 Average RT:   7.464 Send Failed: 0 Response Failed: 0
...
           

25线程1k

Send TPS: 3248 Max RT: 400 Average RT:   6.115 Send Failed: 0 Response Failed: 0
Send TPS: 4002 Max RT: 400 Average RT:   4.975 Send Failed: 0 Response Failed: 0
Send TPS: 2036 Max RT: 400 Average RT:   9.799 Send Failed: 0 Response Failed: 0
Send TPS: 2748 Max RT: 400 Average RT:   7.271 Send Failed: 0 Response Failed: 0
Send TPS: 2921 Max RT: 400 Average RT:   6.850 Send Failed: 0 Response Failed: 0
Send TPS: 2668 Max RT: 400 Average RT:   7.464 Send Failed: 0 Response Failed: 0
Send TPS: 3362 Max RT: 400 Average RT:   5.936 Send Failed: 0 Response Failed: 0
Send TPS: 4830 Max RT: 400 Average RT:   4.137 Send Failed: 0 Response Failed: 0
...
           

30线程1k

Send TPS: 2015 Max RT: 391 Average RT:  12.388 Send Failed: 0 Response Failed: 0
Send TPS: 2798 Max RT: 391 Average RT:   8.891 Send Failed: 0 Response Failed: 0
Send TPS: 1788 Max RT: 391 Average RT:  14.082 Send Failed: 0 Response Failed: 0
Send TPS: 2912 Max RT: 391 Average RT:   8.565 Send Failed: 0 Response Failed: 0
Send TPS: 2999 Max RT: 391 Average RT:   8.367 Send Failed: 0 Response Failed: 0
Send TPS: 2985 Max RT: 430 Average RT:  10.019 Send Failed: 0 Response Failed: 0
Send TPS: 2676 Max RT: 430 Average RT:  11.220 Send Failed: 0 Response Failed: 0
Send TPS: 2563 Max RT: 430 Average RT:  11.648 Send Failed: 0 Response Failed: 0
Send TPS: 1233 Max RT: 430 Average RT:  24.321 Send Failed: 0 Response Failed: 0
Send TPS: 1272 Max RT: 430 Average RT:  23.563 Send Failed: 0 Response Failed: 0
Send TPS: 1849 Max RT: 430 Average RT:  16.212 Send Failed: 0 Response Failed: 0
Send TPS: 2167 Max RT: 430 Average RT:  13.822 Send Failed: 0 Response Failed: 0
...
           

35线程1k

Send TPS: 2848 Max RT: 514 Average RT:  12.367 Send Failed: 0 Response Failed: 0
Send TPS: 3128 Max RT: 514 Average RT:  11.169 Send Failed: 0 Response Failed: 0
Send TPS: 2577 Max RT: 514 Average RT:  13.531 Send Failed: 0 Response Failed: 0
Send TPS: 2190 Max RT: 841 Average RT:  15.909 Send Failed: 0 Response Failed: 0
Send TPS: 1726 Max RT: 841 Average RT:  20.182 Send Failed: 0 Response Failed: 0
Send TPS: 1543 Max RT: 841 Average RT:  22.590 Send Failed: 0 Response Failed: 0
Send TPS: 1258 Max RT: 841 Average RT:  27.854 Send Failed: 0 Response Failed: 0
Send TPS: 2044 Max RT: 841 Average RT:  17.065 Send Failed: 0 Response Failed: 0
Send TPS: 1328 Max RT: 841 Average RT:  26.399 Send Failed: 0 Response Failed: 0
Send TPS: 1123 Max RT: 841 Average RT:  31.242 Send Failed: 0 Response Failed: 0
...
           

40线程1k

Send TPS: 2148 Max RT: 648 Average RT:  18.958 Send Failed: 0 Response Failed: 0
Send TPS: 987 Max RT: 648 Average RT:  39.700 Send Failed: 0 Response Failed: 0
Send TPS: 907 Max RT: 648 Average RT:  44.300 Send Failed: 0 Response Failed: 0
Send TPS: 847 Max RT: 648 Average RT:  47.374 Send Failed: 0 Response Failed: 0
Send TPS: 857 Max RT: 648 Average RT:  47.472 Send Failed: 0 Response Failed: 0
Send TPS: 865 Max RT: 648 Average RT:  46.189 Send Failed: 0 Response Failed: 0
Send TPS: 870 Max RT: 872 Average RT:  45.820 Send Failed: 0 Response Failed: 0
Send TPS: 2006 Max RT: 872 Average RT:  20.351 Send Failed: 0 Response Failed: 0
Send TPS: 2016 Max RT: 872 Average RT:  19.754 Send Failed: 0 Response Failed: 0
Send TPS: 824 Max RT: 872 Average RT:  48.657 Send Failed: 0 Response Failed: 0
Send TPS: 1083 Max RT: 872 Average RT:  36.937 Send Failed: 0 Response Failed: 0
Send TPS: 703 Max RT: 872 Average RT:  56.395 Send Failed: 0 Response Failed: 0
Send TPS: 768 Max RT: 872 Average RT:  52.340 Send Failed: 0 Response Failed: 0
Send TPS: 1238 Max RT: 872 Average RT:  32.478 Send Failed: 0 Response Failed: 0
Send TPS: 1366 Max RT: 872 Average RT:  29.381 Send Failed: 0 Response Failed: 0
Send TPS: 2145 Max RT: 872 Average RT:  18.888 Send Failed: 0 Response Failed: 0
...
           

5线程500k

Send TPS: 169 Max RT: 332 Average RT:  26.225 Send Failed: 0 Response Failed: 0
Send TPS: 167 Max RT: 761 Average RT:  25.069 Send Failed: 0 Response Failed: 0
Send TPS: 144 Max RT: 1866 Average RT:  19.866 Send Failed: 2 Response Failed: 0
Send TPS: 154 Max RT: 2481 Average RT:  33.343 Send Failed: 2 Response Failed: 0
Send TPS: 178 Max RT: 2481 Average RT:  24.602 Send Failed: 2 Response Failed: 0
Send TPS: 182 Max RT: 2481 Average RT:  24.019 Send Failed: 2 Response Failed: 0
Send TPS: 183 Max RT: 2481 Average RT:  23.757 Send Failed: 2 Response Failed: 0
Send TPS: 192 Max RT: 2481 Average RT:  22.397 Send Failed: 2 Response Failed: 0
Send TPS: 171 Max RT: 2481 Average RT:  25.646 Send Failed: 2 Response Failed: 0
Send TPS: 175 Max RT: 2481 Average RT:  24.941 Send Failed: 2 Response Failed: 0
Send TPS: 192 Max RT: 2481 Average RT:  22.453 Send Failed: 2 Response Failed: 0
Send TPS: 185 Max RT: 2481 Average RT:  23.508 Send Failed: 2 Response Failed: 0
Send TPS: 164 Max RT: 2481 Average RT:  26.709 Send Failed: 2 Response Failed: 0
Send TPS: 180 Max RT: 2481 Average RT:  24.391 Send Failed: 2 Response Failed: 0
Send TPS: 174 Max RT: 2481 Average RT:  25.303 Send Failed: 2 Response Failed: 0
Send TPS: 178 Max RT: 2481 Average RT:  24.617 Send Failed: 2 Response Failed: 0
Send TPS: 190 Max RT: 2481 Average RT:  22.641 Send Failed: 2 Response Failed: 0
...
           

继续阅读