Ruby on rails 从rails应用程序(nginx、mongomapper)为mongo设置的推荐池大小?

Ruby on rails 从rails应用程序(nginx、mongomapper)为mongo设置的推荐池大小?,ruby-on-rails,ruby-on-rails-3,mongodb,passenger,mongomapper,Ruby On Rails,Ruby On Rails 3,Mongodb,Passenger,Mongomapper,我们的应用程序运行在rails 3.2.12、Mongo2.2(将迁移到2.4)、mongomapper上,并使用nginx+passenger 如果我们使用的VPS内存为5 GB,那么确定应用程序最佳池大小的最佳方法是什么?我们在哪里设置它?使用web应用程序服务器,如Passenger,MongoDB连接的最大池大小将是每个工作进程,因为web服务器为每个工作进程分叉整个应用程序 此外,如果您的应用程序(您的代码)没有生成任何线程并尝试并行工作,那么您可以将池大小保持为1,因为在这种情况下,

我们的应用程序运行在rails 3.2.12、Mongo2.2(将迁移到2.4)、mongomapper上,并使用nginx+passenger


如果我们使用的VPS内存为5 GB,那么确定应用程序最佳池大小的最佳方法是什么?我们在哪里设置它?

使用web应用程序服务器,如Passenger,MongoDB连接的最大池大小将是每个工作进程,因为web服务器为每个工作进程分叉整个应用程序

此外,如果您的应用程序(您的代码)没有生成任何线程并尝试并行工作,那么您可以将池大小保持为1,因为在这种情况下,增加它实际上对您没有多大帮助

如果您正在生成与数据库对话的线程,那么只需确保您的池大小*乘客工作人员的数量不超过您想要的数据库连接总数(例如池大小=5*乘客工作人员=10=50到MongoDB的连接)。您可能希望线程池大小和连接池大小彼此非常接近


另外,请记住,MongoDB对单个MongoDB实例的硬连接限制为20k。

您的MongoDB实例是否与您的应用程序在同一VPS上运行?您的数据集有多大?mongodb由objectrocket托管。你说的数据集是指整个mongo数据库吗?我们连接的数据库<1 GB.btw,@BrandonBlack,我们还有另一个相关问题,也可以解决我们的可伸缩性问题:。听上去你是蒙哥族专家,你介意看看吗?谢谢