2

rails2.3/postgresql/resqueデータベース サーバーのディスク I/O を使い切っていたため、アプリのシャーディングに Octopus を使用するように切り替えました。10 個のデータベースがあり、それぞれに複数のシャードがあります。(シャードにはスキーマ検索パスが含まれます)。

複数の顧客にまたがる一部のプロセスは非常に低速です。

コードの構造は次のとおりです。

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

問題は、Octopus がデータベース接続を頻繁に開いたり閉じたりしていることだと思われます。

これがタコの仕組みですか?データベース接続のプールを保持できますか?

4

1 に答える 1