0

我使用 MongoDb 作为我们 WebApplication 的数据库

目前我们在 mongoDb 中面临一个问题,即“超出最大连接数 8000”

为了解决这个问题,我们决定将连接数增加到 20000

但不确定如何增加 MongoDB 中的连接。

目前我们只有这个名为 maxConnections 的属性,在我们的代码中它的值是 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 的原因吗?

4

1 回答 1

1

您实际上是否有超过 8000 个线程同时访问该数据库?也许您只是在建立大量您实际上并不需要的连接?

也就是说,8000 限制可能来自您的系统限制。ulimit将限制可用套接字的数量,这将限制连接数。有关完整说明,请参阅mongod 文档

但是,您在这里的方法可能应该是确保您正在重用连接,而不是仅仅创建大量连接,因为您实际上正在运行 8000 个并发客户端是非常值得怀疑的。

于 2013-05-22T19:04:03.483 回答