Uploaded by khon nay

优化RabbitMQ性能

advertisement
优化 RabbitMQ 性能
在 RabbitMQ 中,socket descriptors 和 File descriptors 的默认配额并不大
修改配置
在其配置文件中添加如下参数,其值请根据实际情况进行调整:
1vim /usr/lib/systemd/system/rabbitmq-erver.service
2[Service]
3LimitNOFILE = 65536
重启 rabbitmq
systemctl daemon-reload
systemctl restart rabbitmq-server
//下面为引用参考文案,如下:(节后调整)
在为 OpenStack 的服务配置使用 rabbitmq 消息队列服务时,可以如下配置:
transport_url =
rabbit://openstack:adminopenstack@controller1,openstack:adminopenstack@controller2
可以看到这里的配置方式是将所有节点的 rabbitmq 服务以拼接方式拼在一起,当 cont1 节
点上的消息队列服务不可用时可以将请求转发给 cont2.同时应该配置如下参数:
rabbit_retry_interval=1
rabbit_retry_backoff=2
rabbit_max_retries=0
rabbit_durable_queues=true
rabbit_ha_queues=true
RabbitMQ 注意小计(故障恢复提示):
①保证集群中至少有一个磁盘类型的节点以防数据丢失,在更改节点类型时尤其要注意。
②若整个集群被停掉了,应保证最后一个 down 掉的节点被最先启动,若不能则要使用
forget_cluster_node 命令将其移出集群。
③若集群中节点几乎同时以不可控的方式 down 了,
此时再其中一个节点使用 force_boot 命
令重启节点。
④如果加入集群后,意外关闭等造成 rabbitmq-server 启动不成功,可以尝试一下步骤:
/var/lib/rabbitmq/mnesia 目录下存在 rabbit@localhost.pid、rabbit@localhost、
rabbit@localhost-plugins-expand,删除这 3 项后,并且删除 /var/lib/rabbitmq/ 目录
下 .erlang.cookie 和 erl_crash.dump 再使用 systemctl start rabbitmq-server 启动
Download