ruby-on-rails - Octopus 可以保留数据库连接池吗?

标签 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 不断打开和关闭数据库连接。

这就是八达通的工作原理吗?它可以保留数据库连接池吗?

最佳答案

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

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

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

关于ruby-on-rails - Octopus 可以保留数据库连接池吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919078/

相关文章:

ruby-on-rails - 更改范围以使用 sql

postgresql - current_timestamp 在 PostgreSQL 中不存在?

ruby-on-rails - 在一台专用服务器上运行两个不同的 Rails 应用程序

ruby-on-rails - Google API Ruby 客户端(gem)错误 `uninitialized constant Google::APIClient::UploadIO`

ruby-on-rails - 这可能在 Controller 测试中吗?

ruby 正则表达式命名和组

java - 摩擦正则表达式 : matching a char except when after by another char

ruby - ruby 中的if语句

database - 从文本文件复制时,PostgreSQL 可以将超出范围的值设置为 null 吗?

PostgreSQL 如何将带时区偏移的日期转换为 UTC?