rocketmq 压测参数调优

更新

以下压测内容已作废,rocketmq的tps上不来的核心问题,应该和我使用的VirtualBox的网卡配置有关系,因为网卡或者网络的抖动,导致TPS一直上不去,把虚拟网卡从intel的千M改为virtio以后,现在的TPS已经到16000左右(单broker使用16G内存下,128个线程的生产者)

系统配置

版本 rocketmq 4.61 
服务器 18G内存 VM   4核
运行方式  官方最小集群   1个nameserver进程  3个 broker进程
压测方式 : 基于官方生产者程序,改造为64个线程的生产者.
备注:使用官方推荐的G1做回收器

原始JVM参数

-server -Xmx5g -Xms5g -XX:MaxGCPauseMillis=30 -XX:+UseG1GC -XX:G1HeapRegionSize=8m -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
JVM主要参数 (Broker) 系统Load(5分钟) 内存占用/总内存 Broker TPS 年轻代 GC 次数 年轻代 GC 次数 平均gc耗时 生产者 等待 生产者报错
Xmx5g -Xms5g -XX:MaxGCPauseMillis=30 13.6 16.3G / 17.6G 2 679 64 829 13.1 ms 0
Xmx5g -Xms5g -XX:MaxGCPauseMillis=60 13.13 16.3G / 17.6G 2 569 64 770 12.03 ms 0
Xmx5g -Xms5g 12.13 16.4G / 17.6G 2 355 - - - - broker busy, start flow control for a while

你可能感兴趣的:(rocketmq)