RocketMQ 内存优化

时间:2024-10-19 14:34:24

RocketMQ 内存优化

            • 1.启动脚本的内存调整
            • 和mqnamesrv的内存调整
  • Docker 部署RocketMQ
        • 基于WEB的开源堡垒机
        • 好用的HTTP模拟请求工具

RocketMQ 的默认内存占用非常高,是4×4g的,普通人是消耗不起的,所以第一件事情就是调整RocketMQ的占用内存。

调整RocketMQ的内存目前我所知道的有两个方面

  1. MQ的启动脚本可以调整内存
  2. mqbroker和mqnamesrv的配置可以调整内存
1.启动脚本的内存调整

启动脚本可以配置MQ整体内存大小,有两个启动脚本, 和。
脚本里面的默认配置信息是

JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320m"

以上配置可以根据自己情况进行调整,记得 和都要修改。

和mqnamesrv的内存调整

这两项配置也很重要,默认是500m到1g。具体文件配置是和。
文件里面的配置信息是

<options>
         <-Xms200m></-Xms200m>
         <-Xmx200m></-Xmx200m>
         <-XX:NewSize>50M</-XX:NewSize>
         <-XX:MaxNewSize>50M</-XX:MaxNewSize>
         <-XX:PermSize>30M</-XX:PermSize>
         <-XX:MaxPermSize>30M</-XX:MaxPermSize>
 </options>

以上可以根据自己情况进行配置。

要注意的事情是和的内存不要超过 和的内存,不然会引起内存不够导致奔溃。

Docker 部署RocketMQ

如果有使用docker,那么部署RocketMQ是个轻松愉快的事情,内存控制更加方便,主要部署脚本以下
前提部署环境能够上网,docker会自动拉取MQ镜像

部署

docker run -d -p 9876:9876 --name rmqserver -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" foxiswho/rocketmq:server

部署

docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker --link rmqserver:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-=/opt" -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" -v /data/rocketmq2/:/etc/rocketmq/ foxiswho/rocketmq:broker

配置文件内容

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable = true
autoCreateSubscriptionGroup = true

以上内容保存为即可

接下来更精彩,请勿走开(以下是私事,不喜欢别往下看了)

基于WEB的开源堡垒机

在浏览器上无需安装任何插件就可以控制内网机器,协议支撑RDP、VNC、SSH等。
官网地址:/

好用的HTTP模拟请求工具

市面上有很多HTTP模拟请求工具,有yapi,有ApiPost,好不好用在此不做评价。这里推荐使用BB-API,功能全面,免费使用、资源无限制,自动生成接口文档,界面简洁大气。支持局域网部署,打造属于你、公司的HTTP 协议管理工具。
官网地址/