huangjuncong commented on issue #9829:
URL: https://github.com/apache/rocketmq/issues/9829#issuecomment-3532331403

   > > > > 巧了,我也正在部署5.3.3集群,今天刚压测的,broker 一个节点,jvm 给8G,TPS打到3.8万,采用了一半CPU 
和一半内存。性能瓶颈在硬盘,util飙到95%
   > > > 
   > > > 
   > > > 请问你的验证脚本是啥,还有就是proxy、broker的参数
   > > > java -cp 'lib/*' org.apache.rocketmq.example.benchmark.Producer -n 
"mq1:9876;mq2:9876;mq3:9876" -t "normalTopic" -s 1024 -w 150
   > 
   > 
咱俩的写入线程数是不一样的,请问你这边有优化过broker参数么(比如broker的sendmessage线程数等等),还是直接部署的,不知你那边验证的延迟有多大,这个也很重要
   
   我是docker compose 部署的,
   
   `version: '3.8'
   services:
     rmqnamesrv:
       image: apache/rocketmq:5.3.3
       container_name: rmqnamesrv
       ports:
         - "9876:9876"
       volumes:
         # 将日志挂载到 /data
         - /data/rocketmq/namesrv/logs:/home/rocketmq/logs
         # GC 日志挂载
         - /data/rocketmq/namesrv/gclogs:/home/rocketmq/gclogs
       networks:
         - rocketmq
       extra_hosts:
         - "mq1:xxx.xx.xx.xx"    # 示例:mq1 映射到 xxx.xx.xx.xx
         - "mq2:xxx.xx.xx.xx"    # 示例:mq2 映射到 xxx.xx.xx.xx
         - "mq3:xxx.xx.xx.xx"    # 示例:mq3 映射到 xxx.xx.xx.xx
       environment:
         - JAVA_OPT_EXT=-Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=64m 
-XX:MaxMetaspaceSize=128m -XX:MaxGCPauseMillis=100 -XX:+PrintGC 
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps 
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=100M 
-Xloggc:/home/rocketmq/gclogs/gc.log
       command: sh mqnamesrv
       restart: unless-stopped
       user: "3000:3000"
       deploy:
         resources:
           limits:
             cpus: '0.5'
             memory: 1G
           reservations:
             cpus: '0.1'
             memory: 256M
   
     rmqbroker-c:
       image: apache/rocketmq:5.3.3
       container_name: rmqbroker-c
       ports:
         - "10909:10909"
         - "10911:10911"
         - "10912:10912"
         - "8080:8080"
         - "8081:8081"
       extra_hosts:
         - "mq1:xxx.xx.xx.xx"    # 示例:mq1 映射到 xxx.xx.xx.xx
         - "mq2:xxx.xx.xx.xx"    # 示例:mq2 映射到 xxx.xx.xx.xx
         - "mq3:xxx.xx.xx.xx"    # 示例:mq3 映射到 xxx.xx.xx.xx
       environment:
         - NAMESRV_ADDR=mq1:9876;mq2:9876;mq3:9876
         - JAVA_OPT_EXT=-Xms8g -Xmx8g -Xmn4g -XX:MetaspaceSize=256m 
-XX:MaxMetaspaceSize=512m -XX:MaxGCPauseMillis=200 -XX:MaxDirectMemorySize=2g 
-XX:G1HeapRegionSize=16m -XX:+PrintGC -XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M 
-Xloggc:/home/rocketmq/gclogs/gc.log
       depends_on:
         - rmqnamesrv
       volumes:
         # 配置文件从 /opt/rocketmq 加载
         - 
./broker-c/conf/broker.conf:/home/rocketmq/rocketmq-5.3.3/conf/broker.conf
         # 将日志和存储挂载到 /data
         - /data/rocketmq/broker-c/logs:/home/rocketmq/logs
         - /data/rocketmq/broker-c/store:/home/rocketmq/store
         # GC 日志挂载
         - /data/rocketmq/broker-c/gclogs:/home/rocketmq/gclogs
       networks:
         - rocketmq
       command: sh mqbroker -c /home/rocketmq/rocketmq-5.3.3/conf/broker.conf 
--enable-proxy
       restart: unless-stopped
       user: "3000:3000"
       deploy:
         resources:
           limits:
             cpus: '4.0'
             memory: 12G
           reservations:
             cpus: '1.0'
             memory: 3G
     rmqbroker-a-s:
       image: apache/rocketmq:5.3.3
       container_name: rmqbroker-a-s
       ports:
         - "11909:11909" # Slave A需要不同端口
         - "11911:11911"
         - "11912:11912"
       extra_hosts:
         - "mq1:xxx.xx.xx.xx"    # 示例:mq1 映射到 xxx.xx.xx.xx
         - "mq2:xxx.xx.xx.xx"    # 示例:mq2 映射到 xxx.xx.xx.xx
         - "mq3:xxx.xx.xx.xx"    # 示例:mq3 映射到 xxx.xx.xx.xx
       environment:
         - NAMESRV_ADDR=mq1:9876;mq2:9876;mq3:9876
         - JAVA_OPT_EXT=-Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m 
-XX:MaxMetaspaceSize=256m -XX:MaxGCPauseMillis=200 -XX:MaxDirectMemorySize=1g 
-XX:G1HeapRegionSize=16m  -XX:+PrintGC -XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=100M 
-Xloggc:/home/rocketmq/gclogs/gc.log
       depends_on:
         - rmqnamesrv
       volumes:
         # 配置文件从 /opt/rocketmq 加载
         - 
./broker-a-s/conf/broker.conf:/home/rocketmq/rocketmq-5.3.3/conf/broker.conf
         # 将日志和存储挂载到 /data
         - /data/rocketmq/broker-a-s/logs:/home/rocketmq/logs
         - /data/rocketmq/broker-a-s/store:/home/rocketmq/store
         # GC 日志挂载
         - /data/rocketmq/broker-a-s/gclogs:/home/rocketmq/gclogs
       networks:
         - rocketmq
       command: sh mqbroker -c /home/rocketmq/rocketmq-5.3.3/conf/broker.conf
       restart: unless-stopped
       user: "3000:3000"
       deploy:
         resources:
           limits:
             cpus: '2.5'
             memory: 8G
           reservations:
             cpus: '0.75'
             memory: 2G
   networks:
     rocketmq:
       name: rocketmq
       driver: bridge`
   
   <img width="1293" height="471" alt="Image" 
src="https://github.com/user-attachments/assets/b1f5ab3d-3bd6-44a3-93c1-39f78b7c1466";
 />
   
   <img width="1146" height="757" alt="Image" 
src="https://github.com/user-attachments/assets/01cc8632-25d5-468a-b612-d0bf515875c1";
 />
   
   %util 打到95%  性能瓶颈在硬盘,CPU和内存才用到一半,我是在8核32G机器测的。内存和CPU 不是瓶颈因素


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to