2

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

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

这是代码的结构:

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

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

八达通是这样工作的吗?它可以保持数据库连接池吗?

4

1 回答 1

4

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

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

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

于 2013-06-20T20:47:58.677 回答