《从零开始带你成为消息中间件实战高手》 笔记二

一、RocketMQ集群部署架构图

《从零开始带你成为消息中间件实战高手》 笔记二_第1张图片

二、第三十一课  对OS内核、JVM参数、RocketMQ参数进行调整

1、对RocketMQ集群进行OS内核参数调整 

1)vm.overcommit_memory

有0、1、2三个值可选

  • 0:在中间件申请内存时,os内核会检查可用内存是否足够,如果足够就分配内存给你,如果不太够,就拒绝分配内存,导致中间件报错(一般不设置0)
  • 1:把所有可用的内存都允许分配给中间件(一般设置为1)
  • 2:内核允许分配超过所有物理内存和交换空间总和的内存(一般不设置2)

2)vm.max_map_count

会影响中间件系统可以开启的线程的数量,默认值是65535

3)vm.swappiness

控制进程的swap行为,默认是60,可能会导致中间件运行不活跃的时候被迫腾出内存空间然后放磁盘swap区域去。因此生产环境建议把这个参数调小一些,比如10,尽量用物理内存

4)ulimit

用来控制linux上的最大文件链接数,默认值是1024,一般肯定是不够的,因为读写磁盘文件,网络通信,都跟这个参数有关

2、对JVM参数调整

1)修改runbroker.sh

RocketMQ默认使用G1垃圾收集器,默认堆内存是8G,我们可以根据实际情况更改内存大小,并建议将-XX:SoftRefLRUPolicyMSPerMB=0设置为1000

3、修改RocketMQ发送消息的线程池的线程数量

修改rocketmq/distribution/target/apache-rocketmq/conf/dledger目录下的配置文件中的sendMessageThreadPoolNums属性,默认是16,我们可以根据实际情况增大或缩小这个线程数

三、第三十三课  压测测的是什么

应该在TPS和机器的cpu负载、内存使用率、jvm gc频率、磁盘io负载、网络流量负载之间取得一个平衡,尽量让TPS提高,同时让机器的各项资源负载不要太高

三、第三十五课  阶段性复习

 

你可能感兴趣的:(RocketMQ,中间件)