mongodb connection refused because too many open connections: 819
Env
Debian 9
# 使用通用二进制方式安装
# mongod --version
db version v3.4.21-2.19
git version: 2e0631f5e0d868dd51b71e1e55eb8a57300d00df
OpenSSL version: OpenSSL 1.0.2q 20 Nov 2018
allocator: tcmalloc
modules: none
build environment:
distarch: x86_64
target_arch: x86_64
报错
程序连接数据库报错,mongodb日志中显示connection refused because too many open connections: 819
。
初步判定是mongodb的连接数满了。
排错过程
- 查看mongo连接数
xxx:PRIMARY> db.serverStatus().connections
{ "current" : 819, "available" : 0, "totalCreated" : 1132 }
--> 连接数果然满了
2. 尝试修改连接数,mongo启动时增加 --maxConns 20000
参数,重启mongo,一会连接数又满了,一些资料上说最大是 20000,默认是1024 * 0.8 个
3. 查看 ulimit -n,这个值是 1048576,符合预期。
4. 修改 supervisord 的配置 minfds=1024
为 100000,重启后查看连接数,符合预期。
xx:PRIMARY> db.serverStatus().connections
{ "current" : 1220, "available" : 78780, "totalCreated" : 2158 }
总结
mongod的连接数受限于
- ulimit -n 系统级
- supervisord minfds 参数
- mongo maxConns 参数
最终,只设置minfds参数,不设置maxConns 参数,这样连接数由 supervisor 控制。
参考
mongodb connection refused because too many open connections: 819的更多相关文章
- mongodb报错:connection refused because too many open connections: 819
问题: 发现mongodb无法连接,查看mongodb日志,出现大量的如下报错: [initandlisten] connection refused because too many open co ...
- MongoDB numa系列问题一:[initandlisten] connection refused because too many open connections:
1:Mongod日志有很多这样的报错: [initandlisten] connection refused because too many open connections: 2:查看系统的限制 ...
- 【MongoDB】 Failed to connect to 127.0.0.1:27017, reason: Connection refused
由于项目需要,在一台虚拟机上安装了MongoDB,但是在启动的时候,出现如下错误: [root@localhost bin]# ./mongo MongoDB shell version v3.4.0 ...
- mongodb 初学 意外 连接服务器异常(Connection refused)
啦啦啦 这种情况 root@localhost:/# mongo MongoDB shell version: connecting to: test --31T07:: W NETWORK [thr ...
- 远程连接mongodb出现 no route to host 和 Connection refused
部署好mongodb服务器后,在客户端安装好php的mongodb扩展,用程序连接mongodb服务器出错:no route to host.搜索了差不多一天的时候都没有相关的解决方法.最后在mong ...
- springboot+mongodb报错Caused by: java.net.ConnectException: Connection refused (Connection refused)
com.mongodb.MongoSocketOpenException: Exception opening socket at com.mongodb.connection.SocketStrea ...
- “psql: could not connect to server: Connection refused” Error when connecting to remote database
问题: I am trying to connect to a postgres database installed in a remote server using the following c ...
- vmware上虚拟机:Network error: Connection refused 排查
问题分析 vmware配置的fedora虚拟机, 主机能ping通虚拟机, 虚拟机也能ping通主机.但是用PUTTY连接虚拟机的时候出现 Network error: Connection refu ...
- could not connect to server: Connection refused (0x0000274D/10061)
Oracle Linux 6.8 PostgreSQL Server IP: 192.168.10.220 Windows 7 x64 pgAdmin Custom Port IP: 192.168. ...
随机推荐
- Tensorboard 详解(上篇)
花间提壶华小厨 1. Tensorboard简介 对大部分人而言,深度神经网络就像一个黑盒子,其内部的组织.结构.以及其训练过程很难理清楚,这给深度神经网络原理的理解和工程化带来了很大的挑战.为了解决 ...
- 一书吃透机器学习!新版《机器学习基础》来了,教材PDF、PPT可下载 | 资源
不出家门,也能学习到国外高校的研究生机器学习课程了. 今天,一本名为Foundations of Machine Learning(<机器学习基础>)的课在Reddit上热度飙升至300, ...
- Rust入坑指南:居安思危
任何事情都是相对的,就像Rust给我们的印象一直是安全.快速,但实际上,完全的安全是不可能实现的.因此,Rust中也是会有不安全的代码的. 严格来讲,Rust语言可以分为Safe Rust和Unsaf ...
- arcgis连接oracle发布服务,提示数据未注册到服务器,手动注册服务器失败
arcgis连接oracle数据库发布服务时候,分析之后提示:数据未注册到服务器上. 手动注册之后提示:数据客户端没有正确配置.实际上数据库客户端已经安装完成也可以使用. 设置 PATH 环境变量(仅 ...
- ElasticSearch 9200 9300 端口
9300端口: ES节点之间通讯使用 9200端口: ES节点 和 外部 通讯使用 9300是TCP协议端口号,ES集群之间通讯端口号 9200端口号,暴露ES RESTful接口端口号
- 常用的python标准库
os : 操作系统接口 sys: 命令行操作 re : 正则模块 math : 数学模块 time,timedate: 日期模块 random: 随机数模块 threading: 线程 ...
- mybatis采坑之Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '?°?é?“é?“' in 'field list'
最后找到问题: 符号问题 修改之后正常
- 【Ubuntu】常用命令汇总,整理ing
Ubuntu 常用命令(在此页面中Ctrl+F即可快速查找) 在Ubuntu系统使用过程中,会不断地接触到命令行操作,下面对一些常用的命令进行汇总,方便查找. 1.文件操作 1.1 文件复制拷贝 cp ...
- STM32F103ZET6系统定时器SysTick
1.系统定时器SysTick的简介 系统定时器SysTick属于内核外设,内嵌在NVIC中.SysTick是一个24位的向下递减的计数器,计数器根据SysTick的时钟源计数,当SysTick的计数器 ...
- js 数组 随机排序
方法一: function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) } fu ...