我们切换到在我们的rails2.3/postgresql/resque
应用程序中使用 Octopus 进行分片,因为我们正在最大化数据库服务器的磁盘 I/O。我们有十个数据库,每个数据库都有多个分片。(分片包括模式搜索路径)。
我们的一些跨多个客户工作的流程非常缓慢。
这是代码的结构:
User.each do |u|
Octopus.using(u.shard.to_sym) do
update data
end
end
我们怀疑问题在于 Octopus 不断打开和关闭数据库连接。
八达通是这样工作的吗?它可以保持数据库连接池吗?