1

我遇到了连接超时。在我的 pool_size 1 场景中,这是否意味着池中最多的连接是 1(即 pool_size = max_pool_size)?

另外,当我运行 3 个独角兽进程时会发生什么?他们是否都使用相同的连接并且事情实际上比预期的要慢?

4

1 回答 1

1

我遇到了连接超时。在我的 pool_size 1 场景中,这是否意味着池中最多的连接是 1(即 pool_size = max_pool_size)?

Mongoid 2中,池大小是永远打开的最大连接数,并且可能一直打开。

Mongoid 3不使用连接池(尽管它在切换到 Moped 驱动程序之前使用了)。

另外,当我运行 3 个独角兽进程时会发生什么?他们是否都使用相同的连接并且事情实际上比预期的要慢?

如果你在 Rails 中使用 Mongoid 3,当 Unicorn fork 一个 worker 时,Mongoid 会自动重新连接。如果您使用 Mongoid 2 或不使用 Rails,您应该在 Unicorn 的钩子中调用Mongoid.default_session.disconnect(在 Mongoid 3 中,不确定在 2.x 中究竟要调用什么) 。before_fork

于 2013-04-17T00:57:37.653 回答