2.2 如果不是systemed 来进行管理的话,我们可以更改rabbitmq的启动加载的环境配置文件 rabbitmq-env.conf。在里面开头添加ulimit -S -n 4096,但该值不能超过系统的默认值的最大值。
ulimit -S -n 4096
2.3 系统级别更改
更改配置文件:/etc/security/limits.conf
在文件末尾前面加入
rabbitmq(启动的用户名) - nofile 65536
如果更改前用户已经登录的话,需要重新登录下才能生效。
1.4.4 内存
当rabbitmq 检测到它使用的内存超过系统的40%,它将不会接受任何新的消息,这个值是由参数 vm_memory_high_watermark来控制的,默认值是一个安全的值,修改该值需要注意。 rabbitmq 的至少需要128MB,建议vm_memory_high_watermark 值为 0.4~0..66 ,不要使用大于0.7的值。
1.4.5 磁盘
磁盘默认的储存数据阈值是50MB,当低于该值的时候,将触发流量限制。50MB 只适用于开发环境,生产环境需要调高该值,不然容易由磁盘空间不足导致节点故障,也可能导致数据丢失。
在生产环境中我们设置的值
建议的最小值 {disk_free_limit, {mem_relative, 1.0}}
它是基于mem_relative的值,例如在具有4GB内存的rabbitmq主机上,那么该磁盘的阈值就是4G,如果磁盘可用空间低于4G,所有生产者和消息都将拒绝。在允许恢复发布之前,通常需要消费者将队列消息消费完。建议的更安全值 {disk_free_limit, {mem_relative, 1.5}}
在具有4GB内存的RabbitMQ节点上,如果可用磁盘空间低于6GB,则所有新消息都将被阻止,但是如果我们在停止的时候rabbitmq需要储存4GB的数据到磁盘,再下一次启动的时候,就只有2G空间了。建议的最大值 {disk_free_limit, {mem_relative, 2.0}}
这个是最安全的值,如果你的磁盘有足够多的空间话,建议设置该值。但该值容易触发警告,因为在具有4GB内存的rabbitmq主机上,需要最低空间大于8G,如果你的磁盘空间比较少的话,不建议设置该值。
1.4.6 连接
少使用短连接,使用连接池或者长连接。
1.4.7 TLS
建议尽可能使用TLS连接,使用TLS会对传输的数据加密,但是对系统的吞吐量产生很大的影响
-1.4.8 更改默认端口
我们常用的web界面的端口 15672 和AMQP 0-9-1 协议端口 5672 ,建议更改,web界面更改,配置参数 management.listener.port ,AMQP 0-9-1 协议端口配置参数 listeners.tcp.default。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx