【问题标题】:Rails ActiveRecord w/ MySQL Hangs Once Connection Pool Limit is Reached一旦达到连接池限制,带有 MySQL 的 Rails ActiveRecord 就会挂起
【发布时间】:2010-12-09 06:24:12
【问题描述】:

除非指定,ActiveRecord 会启动 4 个默认连接。

我注意到,如果我重新加载一个简单的页面,它至少会调用一次 ActiveRecord,每件事都正常运行 4 次。但是,在第五次时,它挂了将近 5 秒。因此,每加载 5 个页面,它就会挂起 5 秒。

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

我实际上并没有在整个 Rails 堆栈中使用 ActiveRecord。

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

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:

    该死的,这很容易......

    ActiveRecord::Base.clear_active_connections!

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      • 2023-01-07
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多