mongodb コレクションで定期的に集計を実行するスクリプトがあります。データセットが大きくなるにつれて、集計にかかる時間も長くなります。私の集計スクリプトは最近一貫して動作しなくなり、エラー ログに次のように表示されます。
error: { [MongoError: server <x> timed out]
name: 'MongoError',
message: 'server <x> timed out' }
これをデバッグしようとしましたが、唯一のパターンは、集計に 2 分以上かかる場合にのみこのタイムアウトが発生するように見えることです (正しくタイムアウトします)。約2m)。これに関する追加のデバッグのヒントはありますか? 2 分間ということは、どこかでタイムアウトを設定する必要があるという印象を私に与えていますが、どこで、または単に赤いニシンの罠に陥っているのかを理解することはできません。
システム構成について: この集計スクリプトは、alpine ベースの docker (v1.9.1) コンテナーで実行される node.js (v5.9.1) アプリケーションです。mongodb
ノード ドライバー (v2.1.19)を使用します。mongod (v3.2.6) を実行している単一の mongodb サーバー (ただし、これは replSet を使用した別の環境でも発生しています)