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 0 1 内存页配置
/proc/sys/vm/drop_caches vm.drop_caches 0 1 内存页配置
/proc/sys/vm/zone_reclaim_mode vm.zone_reclaim_mode 0 0 内存页配置
/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: nullTPS: 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率 0 0 0 0 0 0 0 0
1kbytes写TPS 1662 7582 9152 9838 13830 16130 8404 2369
1kbytes写的error率 0 0 0 0 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率 0 0 0 0 0 0 0 0
1kbytes写TPS 4040 5370 5030 4002 3362 2563 2190 1366
1kbytes写的error率 0 0 0 0 0 0 0 0
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 0 4817 0
10 9302 0 7903 0
15 12002 0 10038 0
20 15122 0 11093 0
25 19867 0 12007 0
30 17130 0 10879 0
35 20239 0 6809 0
40 23623 0 5637 0

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 0 4040 0
10 7582 0 5370 0
15 9152 0 5030 0
20 9838 0 4002 0
25 13830 0.1% 3362 0
30 16130 0.1% 2563 0
35 8404 0.8% 2190 0
40 2369 1.69% 1366 0

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=BUSSMQdefaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10913
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88storePathCommitLog=/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=524288flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSHcheckTransactionMessageEnable=false# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=truesendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
haTransferBatchSize=524288waitTimeMillsInSendQueue=6000osPageCacheBusyTimeOutMills=6000# 从可读
slaveReadEnable=true
# transferMsgByHeap默认true设置为false
# Broker响应消费请求时,不必将数据重新读到堆内存再发送给客户端;
# 直接从PageCache将数据发送给客户端
transferMsgByHeap=false

broker-b.properties

brokerClusterName=BUSSMQ
brokerName=broker-b
brokerId=0namesrvAddr=
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10913
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88storePathCommitLog=/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=524288flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH
checkTransactionMessageEnable=false# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=truesendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
haTransferBatchSize=524288
# 从可读
slaveReadEnable=true
# transferMsgByHeap默认true设置为false
# Broker响应消费请求时,不必将数据重新读到堆内存再发送给客户端;
# 直接从PageCache将数据发送给客户端
transferMsgByHeap=false

broker-a-s.properties

brokerClusterName=BUSSMQ
brokerName=broker-a
brokerId=1namesrvAddr=
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88storePathCommitLog=/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=524288flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000brokerRole=SLAVE
flushDiskType=SYNC_FLUSH
checkTransactionMessageEnable=false# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=truesendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
haTransferBatchSize=524288waitTimeMillsInSendQueue=6000osPageCacheBusyTimeOutMills=6000
# 从可读
slaveReadEnable=true
# transferMsgByHeap默认true设置为false
# Broker响应消费请求时,不必将数据重新读到堆内存再发送给客户端;
# 直接从PageCache将数据发送给客户端
transferMsgByHeap=false

broker-b-s.properties

brokerClusterName=BUSSMQ
brokerName=broker-b
brokerId=1namesrvAddr=
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88storePathCommitLog=/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=524288flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000brokerRole=SLAVE
flushDiskType=SYNC_FLUSHcheckTransactionMessageEnable=false
# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=trueslaveReadEnable=true
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
haTransferBatchSize=524288waitTimeMillsInSendQueue=6000osPageCacheBusyTimeOutMills=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
...

RocketMQ压测报告书相关推荐

  1. RocketMQ性能压测分析(转载)

    一   机器部署 1.1  机器组成 1台nameserver 1台broker  异步刷盘 2台producer 2台consumer 1.2  硬件配置 CPU  两颗x86_64cpu,每颗cp ...

  2. RocketMQ这样做,压测后性能提高30%

    从官方这边获悉,RocketMQ在4.9.1版本中对消息发送进行了大量的优化,性能提升十分显著,接下来请跟着我一起来欣赏大神们的杰作. 根据RocketMQ4.9.1的更新日志,我们从中提取到关于消息 ...

  3. 什么是预热 压测_全链路压测探索实践之路

    背景 去年双十一,为了应对零点的峰值流量冲击,我们在八月下旬启动了全链路压测第一次实践.由于从零开始,因此单独搭建了一套和生产1:1的环境,2个月的时间,光环境成本就高达几百万.经过双十一,压测团队从 ...

  4. 基于 PTS 压测轻松玩转问题诊断

    为什么要做压测的问题定位? 性能测试 PTS(Performance Testing Service)是具备强大的分布式压测能力的 SaaS 压测平台,可模拟海量用户的真实业务场景,全方位验证业务站点 ...

  5. 压测工具大比武!谁是市场主流?

    阿里云PTS 性能测试PTS(Performance Testing Service)是阿里云一款商业化的性能测试工具.支持按需发起压测任务,可支持百万并发.千万TPS流量发起能力,100%兼容JMe ...

  6. 《云集的全链路压测之路》

    其实说句实话,我们的全链路压测之路走的还是比较艰辛的,从最初纠结用什么压测工具开始,到压框架.压单接口.压压测环境,到线上环境一步步摸索,并结合其它友商的经验和方案,直至今天,将近耗时一年多的漫长时间 ...

  7. 云集的全链路压测之路

    <云集的全链路压测之路>   其实说句实话,我们的全链路压测之路走的还是比较艰辛的,从最初纠结用什么压测工具开始,到压框架.压单接口.压压测环境,到线上环境一步步摸索,并结合其它友商的经验 ...

  8. 爱奇艺全链路压测探索与实践

    背 景 爱奇艺除了每天都为数以亿计的用户提供优质的视频服务,同时还有体育.直播.文学等业务服务于更多的圈层用户,海量的业务几乎每天都在进行营销活动,由此带来的流量随时可能会给我们的服务引入不确定性.爱 ...

  9. 阿里10年分布式技术沉淀:阿里高可用体系核心缔造者、全链路压测创始人告诉你!...

    原文链接 7月27日,云栖社区.阿里中间件将举办首届阿里巴巴中间件技术峰会,揭秘阿里10年分布式技术干货.目前活动官网已上线:https://yq.aliyun.com/promotion/262,  ...

最新文章

  1. T4模板使用记录,生成Model、Service、Repository
  2. arcgis怎么用python重新排序,使用ArcGIS脚本工具将点数据进行排序并编号
  3. java并发之线程封闭(二)
  4. 彻底清除备份域服务器数据元的方法
  5. java runtime 返回值_Java Runtime.exec()注意事项 | 学步园
  6. get方法 服务器响应,HTTP请求方法及响应码详解(http get post head)
  7. mysql 5.7 编译_MySQL5.7.20编译安装
  8. 拓端tecdat|R语言用LASSO,adaptive LASSO预测通货膨胀时间序列
  9. RTSP丢包处理原理及doubango代码改进
  10. 机器学习中的数学——概率论基础知识
  11. resin java_让resin4自动编译java文件
  12. 2021-2027全球及中国数控钻机行业研究及十四五规划分析报告
  13. Elasticsearch顶尖高手系列:高手进阶篇(一)
  14. 《岗位怎么招》第二期:DBA岗位的人物画像
  15. 工具一栏,就是小锤子右边的一排都没亮
  16. 1905 统计子岛屿
  17. 路由器交换机设备管理
  18. m3u8文件里面的key加密了,可以合并吗?
  19. 泡妞与23种设计模式
  20. 一、Dreamweaver 8安装

热门文章

  1. PyQt5教程(三)——Eric6的安装(详细)
  2. ES6,18、find和findIndex
  3. 计算机与数学 —— 圆与矩形相交判定算法的优化
  4. 掌握如何利用Ubuntu ppa源,天下再没有难安装的Linux软件
  5. 最常见的客服系统功能
  6. css居中对齐的几种情况(待补充
  7. 设计原则-合成复用原则
  8. 微服务拆分解决的问题
  9. 怎么在excel根据百分数计算数值啊
  10. 计算机发展史的研究报告,一种对计算机发展史展开研究的策略