Octopus可以保留数据库连接池吗?

时间:2013-06-04 13:23:38

标签: ruby-on-rails ruby postgresql octopus

我们在rails2.3/postgresql/resque应用程序中切换到使用Octopus进行分片,因为我们正在最大化数据库服务器的磁盘I / O.我们有十个数据库,每个数据库都有多个分片。 (分片包含模式搜索路径)。

我们的一些跨多个客户的流程非常缓慢。

以下是代码的结构:

User.each do |u|
  Octopus.using(u.shard.to_sym) do
     update data
  end
end

我们怀疑问题是Octopus不断打开和关闭数据库连接。

这是八达通如何运作的?它可以保留数据库连接池吗?

1 个答案:

答案 0 :(得分:4)

ar-octopus 0.3.4中可能存在错误。它通过以下提交修复:

https://github.com/tchandy/octopus/commit/0c71fa228c3a9d659482a0dee8be5b4bd47493eb

唯一的变化是从self.using中删除“hijack_initializer”。