RabbitMQ优化


RabbitMQ的优化

在上面的文章中可以看到,RabbitMQ的连接数是压垮消息队列的一个重要的指标。所以在平时使用OpenStack平台的过程中,如果大量的用户同时创建虚拟机,会导致云平台创建报错,其实就是消息队列服务的崩溃。

在优化方面,我们首先想到,是将RabbitMQ服务默认的连接数量改大,修改方法如下:

(1)系统级别修改

使用CRT等远程工具连接到controller节点,然后修改配置文件,命令如下:

[root@controller ~]# vi /etc/sysctl.conf
fs.file-max=10240
#在sysctl.conf文件的最下方添加一行fs.file-max=10240

修改完毕后保存退出并生效配置,命令如下:

[root@controller ~]# sysctl -p
fs.file-max = 10240

(2)用户级别修改

用户级别修改,编辑/etc/security/limits.conf配置文件,具体命令如下:

[root@controller ~]# vi /etc/security/limits.conf
openstack  soft     nofile  10240
openstack  hard     nofile  10240
#在配置文件的最后添加两行内容如上

修改完之后,保存退出。

(3)修改RabbitMQ配置

修改RabbitMQ服务的service配置文件rabbitmq-server.service,具体命令如下:

[root@controller ~]# vi /usr/lib/systemd/system/rabbitmq-server.service
#在[Service]下添加一行参数如下:
LimitNOFILE=10240

(4)重启RabbitMQ服务

[root@controller ~]# systemctl daemon-reload
[root@controller ~]# systemctl restart rabbitmq-server

重启完毕后,查看RabbitMQ的最大连接数,命令如下:

[root@controller ~]# rabbitmqctl status
Status of node rabbit@openstack
...忽略输出...
 {file_descriptors,
     [{total_limit,10140},
      {total_used,53},
      {sockets_limit,9124},
      {sockets_used,51}]},

可以看到当前的RabbitMQ已被修改。


文章作者: IW
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 IW !
  目录