我使用MongoDb作为WebApplication的数据库
目前我们在mongoDb中面临一个问题,即“max connections 8000 exceeded”
为了解决这个问题,我们决定将连接增加到20000
但不确定如何增加MongoDB中的连接。
目前我们只有一个名为maxConnections的属性,其代码中的vaue为800
这是从mongodb服务器收集的统计信息
db.serverStatus().connections
{ "current" : 7000, "available" : 1000 }
我们以这种方式启动mongodb
mongod --config /etc/mongodb.conf
在mongodb.conf里面我们有
replSet = test
fork = true
port = 27017
我不确定为什么最大连接显示8000 ?它是硬编码的吗?
请问任何正文如何找出为什么我的情况下连接大小为8000的原因?
答案 0 :(得分:1)
你实际上有超过8000个线程同时访问这个数据库吗?也许你只是在调动你实际上并不需要的大量连接?
也就是说,8000限制可能来自您的系统限制。 ulimit
将限制可用套接字的数量,这将限制连接数。有关完整说明,请参阅the mongod documentation。
但是,你的方法应该是确保你重新使用连接而不是创建大量的连接,因为你真的怀疑你实际上是在运行8000个并发客户端。