今天在node.js连接中的mongodb

时间:2012-07-26 09:44:17

标签: node.js mongodb

当为节点使用本机mongo.db驱动程序时,我应该为每个应用程序打开1个连接,每页“服务”,还是在需要时打开和关闭它?

我见过一些older answers,但我知道该项目一直在发展,所以我想知道它今天的状态。

1 个答案:

答案 0 :(得分:2)

这不会改变的情况;打开与服务器的新连接将比使用已建立的连接的性能低。

注意:这是服务器应用程序的一般情况,并非特定于MongoDB。

典型的开销包括:

  • 将服务器名称解析为IP
  • 建立与服务器的网络连接
  • 服务器上分配的每个连接内存

特别是MongoDB:

  • 打开新连接意味着服务器上的新套接字连接和线程
  • 每个连接(从MongoDB 2.0开始)在服务器上分配1Mb的RAM(另请参阅:Checking Memory Usage
  • 开放文件/连接的每个进程限制(另请参阅:Too Many Open Files

对于MongoDB Node.js驱动程序,您可以通过在构造函数中设置poolSize来利用连接池。一篇博客文章,其中包含使用此示例的示例:Node.js: Connection Pools and MongoDB