修改RabbitMQ最大鏈接數


問題

最近新搭建的OpenStack集羣老是出問題,各個service的log常常報鏈接RabbitMQ超時。重啓RabbitMQ後集羣會恢復正常一段時間,以後繼續報錯。根據這種現象推斷,大機率是跟RabbitMQ能接受的最大鏈接數的問題有關,執行rabbitmqctl status發現sockets_used已經達到上限,證實推斷正確,解決方法就是調大這個值。socket

image.png

調整方法

       操做系統是CentOS 7.5。編輯/usr/lib/systemd/system/rabbitmq-server.service,在[Service]字段添加一行LimitNOFILE=65535:ide

# systemd unit examplespa

[Unit]操作系統

Description=RabbitMQ brokerrest

After=network.target epmd@0.0.0.0.socketserver

Wants=network.target epmd@0.0.0.0.socketrabbitmq

 

[Service]ip

Type=notify文檔

User=rabbitmqget

Group=rabbitmq

NotifyAccess=all

TimeoutStartSec=3600

LimitNOFILE=65535                                                                                                                                            

WorkingDirectory=/var/lib/rabbitmq

ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server

ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl   stop

 

[Install]

WantedBy=multi-user.target

       而後執行systemctl daemon-reload和systemctl restart rabbitmq-server.service就生效了。再次查看rabbitmqctl status就能夠發現新參數生效了:

image.png

       雖然調整的是打開文件最大數,可是sockets_limit也相應增大了,查詢文檔得知sockets_limit一般是total_limit的0.8到0.9。以後OpenStack各服務也再也不報錯了,問題解決。

相關文章
相關標籤/搜索