我将拥有一个拥有20k +并发用户的网站。
我将使用mongodb使用一个管理节点和3个或更多节点进行数据分片。
现在我的问题是最大限度的连接。如果我有那么多用户访问数据库,我怎样才能确保他们没有达到最大限制?我是否还必须更改内核上的任何内容以增加连接?
基本上,数据库将用于保持连接用户对站点的控制,因此会有大量的读/写操作。
提前谢谢。
答案 0 :(得分:23)
每次新用户连接时,您都不希望打开新的数据库连接。我不知道你是否能够轻松扩展到20k +并发用户,因为MongoDB为每个新连接使用了一个新线程。您希望您的Web应用程序后端只打开一个到几个数据库连接,并且只使用池中的那些,特别是因为Web使用非常异步并且是事件驱动的。
请参阅:http://www.mongodb.org/display/DOCS/Connections
服务器将为每个TCP使用一个线程 连接,因此高度推荐您的应用程序 使用某种连接池。幸运的是,大多数司机处理这个问题 在幕后为你服务。一个值得注意的例外是您的设置 app为每个请求生成一个新进程,例如CGI和一些请求 PHP的配置。
无论您使用何种驱动程序,您都必须了解它们如何处理连接以及它们是否合并。例如,Node的Mongoose是非阻塞的,因此通常每个应用程序使用一个连接。这是你可能想要的东西。