现象

有数界面不可用或者接口调用报错,平台日志会报出数据库连接数不足。

mysql容器中max_connections为214,值不为配置文件中的3000。

解决方法

临时方法:进入单机mysql容器执行sql语句:

SET GLOBAL max_connections = 3000;

但是这一方法容器重启后就不生效了,稳定的环境其实临时改下就可以了。

永久解决方法

docker.service(/usr/lib/systemd/system/docker.service):

将docker.service加上LimitNOFILE=65536,即[Service]内容如下:

[Service]
Type=simple
# add the following param if dockerd cannot start
# --storage-opt dm.override_udev_sync_check=true
ExecStart=/usr/bin/dockerd --default-shm-size 1000000000 --default-ulimit nofile=50000:99999
LimitNOFILE=65536

之后重启docker:

systemctl daemon-reload

systemctl restart docker

但是这一做法涉及到重启docker,会影响业务服务,需要找一个窗口期进行操作。