
RabbitMQ的优化
在上面的文章中可以看到,RabbitMQ的连接数是压垮消息队列的一个重要的指标。所以在平时使用OpenStack平台的过程中,如果大量的用户同时创建虚拟机,会导致云平台创建报错,其实就是消息队列服务的崩溃。
在优化方面,我们首先想到,是将RabbitMQ服务默认的连接数量改大,修改方法如下:
(1)系统级别修改
使用CRT等远程工具连接到controller节点,然后修改配置文件,编辑/etc/sysctl.conf配置文件,命令如下:
#在sysctl.conf文件的最下方添加一行fs.file-max=10240
echo “fs.file-max=10240” >> /etc/sysctl.conf
修改完毕后保存退出并生效配置,命令如下:
sysctl -p
(2)用户级别修改
用户级别修改,编辑/etc/security/limits.conf配置文件,具体命令如下:
echo “openstack soft nofile 10240” >> /etc/security/limits.conf
echo “openstack hard nofile 10240” >> /etc/security/limits.conf
修改完之后,保存退出。
(3)修改RabbitMQ配置
修改RabbitMQ服务的service配置文件rabbitmq-server.service,具体命令如下:
vi /usr/lib/systemd/system/rabbitmq-server.service
#在[Service]下添加一行参数如下:
LimitNOFILE=10240
编辑完之后保存退出,重启RabbitMQ服务,命令如下:
systemctl daemon-reload
systemctl restart rabbitmq-server
重启完毕后,查看RabbitMQ的最大连接数,命令如下:
rabbitmqctl status
Status of node rabbit@openstack
…忽略输出…
{file_descriptors,
[{total_limit,10140},
{total_used,53},
{sockets_limit,9124},
{sockets_used,51}]},
可以看到当前的RabbitMQ已被修改。