天天看點

修改RabbitMQ最大連接配接數

最近新搭建的OpenStack叢集總是出問題,各個service的log經常報連接配接RabbitMQ逾時。重新開機RabbitMQ後叢集會恢複正常一段時間,之後繼續報錯。根據這種現象推斷,大機率是跟RabbitMQ能接受的最大連接配接數的問題有關,執行rabbitmqctl status發現sockets_used已經達到上限,證明推斷正确,解決方法就是調大這個值。

修改RabbitMQ最大連接配接數

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

# systemd unit example

[Unit]

Description=RabbitMQ broker

After=network.target [email protected]

Wants=network.target [email protected]

[Service]

Type=notify

User=rabbitmq

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就可以發現新參數生效了:

修改RabbitMQ最大連接配接數

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