1

2 つの異なるサーバーで RoR アプリケーションを実行しています。同じバージョンのアプリを実行し、構成も似ています。任意のサーバーとして 3 番目のサーバーと両方のサーバーで実行されている Mongodb レプリカ セットがあります。

すべてが正常に動作します。データは完全に同期しています。しかし、2 週間実行した後、サーバーの 1 つが ConnectionPool::PoolShuttingDownError を返し始めました。ログを確認したところ、アプリケーション コントローラーでエラーが発生したことがわかります。どのサーバーのコードも変更しませんでした。

エラーを発生させているサーバーは、6 ~ 7 の同時リクエストを取得するまで問題ありません。または、ページを 6 ~ 7 回まとめて更新した場合。このエラーが 1 回発生し、再度ページを更新すると、通常の状態に戻ります。これは奇妙で、なぜあるサーバーにはこの問題があり、他のサーバーには問題がないのか理解できません。

Moped、Rails 4.1.0、および Ruby 2.1.5 で Mongoid を使用しています。また、約 51158 である db.serverStatus().connections を使用して利用可能な接続を確認し、最大プロセスの ulimit は 257185 です。

よく検索しましたが、この問題の原因はまだわかりません。誰かがこの問題に光を当てることができれば、それは素晴らしいことです. どんな助けでも大歓迎です。前もって感謝します。

4

0 に答える 0