1 集群问题
1.1 实际问题
生产注意问题:https://blog.csdn.net/astiantian/article/details/84231578
按默认配置安装完RabbitMQ后,发现其File descriptors(即文件描述符)和Socket descriptors都特别低,分别为924和829。客户端(消费者)保持长连接时很容易就将socket占满。
2 核查问题
经查该问题是由于系统当前的ulimit -n
仅为1024,rabbitmq在启动时会进行如下换算:
file_limit = 1024 - 100; // 924
sockets_limit = trunc((1024 - 100) * 0.9 - 2); //829
2 集群优化
以下三种方式配置完成后都确认 >= 我们需要的连接数后,重启RabbitMQ,注意需要连Erlang一起重启,重启后即可看到效果。
2.1 系统级别
系统级别,配置文件为:/proc/sys/fs/file-max
,如果太小需要修改
[root@localhost ~]# cat /proc/sys/fs/file-max
778230
[root@localhost ~]# cat /proc/sys/fs/file-nr
2432 0 778230
2.2 用户级别
用户级别,配置文件为:/etc/security/limits.conf
[root@localhost ~]# * - nofile 65536
2.3 进程级别
进程级别,即ulimit -n
#修改
[root@localhost ~]# ulimit -n 65536
3 相关信息
博文不易,辛苦各位猿友点个关注和赞,感谢