mongodb & 最大连接数

标签 mongodb connection

我将拥有一个拥有 20k+ 并发用户的网站。

我将使用 mongodb 使用一个管理节点和 3 个或更多节点进行数据分片。

现在我的问题是最大连接数。如果我有那么多用户访问数据库,我如何确保他们没有达到最大限制?我是否还必须更改内核上的任何内容以增加连接?

基本上,该数据库将用于保持连接到该站点的用户,因此会有繁重的读/写操作。

提前谢谢你。

最佳答案

您不希望每次新用户连接时都打开一个新的数据库连接。我不知道您是否能够轻松扩展到 20k+ 并发用户,因为 MongoDB 为每个新连接使用一个新线程。您希望您的 Web 应用后端只打开一到几个数据库连接,并且只使用池中的那些连接,特别是因为 Web 使用是非常异步和事件驱动的。

见:http://www.mongodb.org/display/DOCS/Connections

The server will use one thread per TCP connection, therefore it is highly recomended that your application use some sort of connection pooling. Luckily, most drivers handle this for you behind the scenes. One notable exception is setups where your app spawns a new process for each request, such as CGI and some configurations of PHP.

无论您使用什么驱动程序,您都必须了解它们如何处理连接以及它们是否池化。例如,Node 的 Mongoose 是非阻塞的,因此您通常每个应用程序使用一个连接。这可能是你想要的。

关于mongodb & 最大连接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8439639/

相关文章:

javascript - 如何在 Meteor javascript 中使用 Mongodb 填充下拉菜单?

mongodb - 尽管 mongodb 中有数据,为什么 db.database.find() 没有结果?

java - 在 JavaFX Webview 中运行 URLConnection uc

java - 由 : java.net.ConnectException 引起:连接被拒绝 Cloudify CLI

java - 哪个 Java ORM 框架支持 MongoDB 中文档的多态性?

java - 从 mongo 数据库检索 _ids

node.js - 无法使用 mongoose 和 nodejs 访问对象值

php - MySQL 连接不工作 Ubuntu?

php - 无法更改 Doctrine 连接

asp.net - 在 ASP.NET/IIS7 中可以进行多少个并发出站 HttpWebRequest 调用?