当前位置:  开发笔记 > 编程语言 > 正文

mongodb和max连接

如何解决《mongodb和max连接》经验,为你挑选了1个好方法。

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

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

现在我的问题是最大的连接.如果我有那么多用户访问数据库,我怎样才能确保他们没有达到最大限制?我还需要改变内核上的任何内容来增加连接吗?

基本上,数据库将用于保持连接用户对站点的控制,因此会有大量的读/写操作.

先感谢您.



1> EhevuTov..:

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

请参阅:http://www.mongodb.org/display/DOCS/Connections

服务器将为每个TCP连接使用一个线程,因此强烈建议您的应用程序使用某种连接池.幸运的是,大多数司机在幕后为您处理此事.一个值得注意的例外是您的应用程序为每个请求生成新进程的设置,例如CGI和PHP的某些配置.

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


@enrico嗯,你想要使用的编程模型是基于事件的编程,而不是你想到的基于线程的模型.Node.js + Express + Mongoose + MongoDB是一个很受欢迎的堆栈.如果您使用的是Perl,请查看Mojolicious或AnyEvent.如果您不使用事件系统,您将遇到的问题是C10k问题:http://www.kegel.com/c10k.html我在这里有一个Node.js Web应用程序示例:http:/ /github.com/EhevuTov/netPeek
推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有