一旦达到连接池限制,Rails ActiveRecord将与MySQL挂起

时间:2009-10-22 21:29:43

标签: ruby-on-rails activerecord

除非另有说明,否则A​​ctiveRecord会激活4个默认连接。

我注意到我是否重新加载了一个简单的页面,它至少进行了一次ActiveRecord调用,每次正常运行4次。然而,在第五次,它挂起了近5秒钟。因此,每隔5页加载它就会挂起5秒钟。

我将我的适配器中的默认连接池增加到8,现在它挂起每个第9页请求。它似乎不重用连接,而是杀死它们并在达到池限制后重新生成它们。

我实际上并没有将ActiveRecord与整个Rails堆栈一起使用。

是否有一个神奇的ActiveRecord连接标志可以防止这种情况发生?或者,还有其他问题吗?

1 个答案:

答案 0 :(得分:2)

该死的很容易......

的ActiveRecord :: Base.clear_active_connections!

http://coderrr.wordpress.com/2009/01/12/rails-22-activerecord-connection-cleanup/

当然希望这是您可以配置的内容,这样您就不必每次都调用它。