AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

MongoDB Search の問題の修正

MongoDB Search は、 MongoDB Search プロセスによって使用される CPU とメモリの量が指定されたしきい値に達したときにMongoDB Search アラートをトリガーします。検索プロセス (mongot) でメモリが不足すると、インデックス作成とクエリが失敗します。プロジェクトアラート設定モーダルで、 MongoDB Searchアラート条件を構成できます。クラスター モニタリングを使用してMongoDB Search メトリクスを表示することもできます。

警告:MongoDB Search インデックスがすでに存在するコレクションをシャーディングする場合、インデックスがシャードで構築されている間に短時間、不完全な検索結果が発生する可能性があります。また、MongoDB Search インデックスを含むすでにシャーディングされたコレクションにシャードを追加する場合、追加されたシャードで最初の同期プロセスが完了するまで、そのコレクションに対する検索クエリでは不完全な結果が返される可能性があります。詳しくは、 「最初の同期プロセス」 を参照してください。

プロジェクト レベルのアラート設定ページで次のアラート条件を構成して、trigger アラートを起動できます。

Atlas Search: Index Replication LagMongoDB Search がmongod のoplogからの変更を複製する際に遅延しているおおよそのミリ秒数がしきい値を超えているか下回っている場合、 は発生します。

レプリケーションラグが十分に大きくなり、mongot が設定されたoplog ウィンドウより遅れる場合、mongot は増分同期できなくなります。このような状況が発生すると、mongot はインデックスの完全な再構築を自動的に実行します。再構築中も検索クエリは引き続き機能しますが、古い結果が返されます。

レプリケーションラグを軽減するには

  • oplogサイズを増やして、書き込みバースト中に mongot が同期する時間を増やします。クラスター設定で最小oplogサイズを構成できます。

  • 検索ノードを拡大して、レプリケーションのために mongot の CPU とメモリを増やします。検索ノードの追加または拡大について詳しくは、「検索ノードのサイズ設定と拡大に関するヒント」を参照してください。

  • 可能な場合は、大規模な一括操作をバッチするか抑制して、書込みバースト量を減らします。

  • レプリケーションラグとともに書き込み (write) 量を監視します。書込みスループットの急増は、 oplog枯渇の一般的なトリガーです。書き込み (write) 量と問題の解決を監視する方法の詳細については、Oplog の問題の修正 を参照してください。

推奨しきい値: このアラートは、 oplog window 時間よりも十分に下に設定します。例、 oplog window が 24 時間の場合は、そのウィンドウの 30–50%(たとえば、8``12 時間)にアラートを発行して、mongot がダウンする前に応答する時間を確保することを検討してください。は、 oplog.

Atlas Search: Index Size on Disk ディスク上のすべてのMongoDB Search インデックスの合計サイズ(バイト単位)がしきい値を上回るか下回る場合に発生します。

ディスク使用率が高いためにMongoDB 検索する mongot プロセスによって最初の同期が中断された場合、Atlas Search: Mongot paused initial sync が発生します。

最初の同期のビルドが失敗すると、Atlas は失敗の理由に応じて次のいずれかのアクションを実行することがあります。

  • 失敗したインデックスを削除します 。Atlas はインデックスを完全に削除するため、再構築する必要があります。これは、インデックスを回復できない場合に発生します。

  • 部分的なビルド進行状況の削除: Atlas はインデックス定義を保持しますが、部分的なビルド進行状況を削除することで、ビルドを最初から再開できるようになります。

  • 部分的なビルドの進行状況を保持し、それを再利用する: Atlas は部分的なビルド データをディスク上に保持します。以前に完了した作業は、ビルドが再開するリカバリ中に再利用される場合があります。

  • 部分的なビルドの進行状況を保持しますが、最初から再起動します: Atlas はディスク上の部分的なビルド データを保持しますが、以前の作業を再利用せずにビルドを最初から再開します。

Atlas Search: Mongot is approaching replication stop threshold 検索ノードのディスク使用量が 85% 以上の場合に発生します。

Atlas Search: Max Number of Lucene Docs はデフォルトで を自動的に実行します。このアラートは、特定のレプリカセットまたはシャードのMongoDB Search インデックスの保存に使用される Lucene Docs の上限数がしきい値を超えている場合に発生します。

Atlas Search: Mongot stopped replication デフォルトで自動的に実行されます。

このアラートは、ディスク使用率が高いためにMongoDB Search mongot プロセスによってレプリケーションが中断された場合にのみ、専用の検索ノードで発生します。レプリケーションは、ディスク使用率が 90% に達すると一時停止され、ディスク使用率が 85% を下回ると自動的に再開されます。

レプリケーションが一時停止されても、検索ノードは引き続きクエリを処理する可能性がありますが、複製されたデータは古くなる可能性があります。例、mongot がすでにを実行中いる場合、シノニム マッピングは読み込まれたままですが、最近の更新が反映されていない可能性があります。レプリケーションの一時停止中に Atlas が新しい検索ノードをプロビジョニングした場合、新しい mongot プロセスでシノニム マッピングが使用できない可能性があります。

一時停止されたレプリケーションは、高速検索ノードのプロビジョニングを遅延または妨げる可能性もあります。これは、検索ノードをスケーリングするときにインデックスの最新のコピーを複製する Atlas に依存します。

レプリケーションが長時間にわたって一時停止されると、mongot プロセスはoplogから削除される可能性があります。mongot がoplog削除されると、Atlas はインデックスを再構築します。

mongot がoplogから削除されるのを防ぐ方法は次のとおりです。

  • 検索ノードをアップグレードして、ディスク使用率を削減します。

  • 未使用のMongoDB Search インデックスを削除します。

  • 追加の検索ノードを追加します。

  • クラスターをシャード化すると、データの分散が改善され、ディスク負荷が軽減されます。

Atlas Search: Number of Error Queries は、 MongoDB Search が応答を返せないクエリの数がしきい値を上回るか下回る場合に発生します。

Atlas Search: Number of Successful Queries は、 MongoDB Search が応答を正常に返したクエリの数がしきい値を上回るか下回る場合に発生します。

Atlas Search: Total Number of Queries は、 MongoDB Search に送信されたクエリの数がしきい値を上回るか下回る場合に発生します。

Atlas Search Opcounter: Delete 1 秒あたりに削除されるドキュメントまたはフィールド(インデックス定義で指定)の合計数がしきい値を上回るか下回る場合に発生します。

Atlas Search Opcounter: Getmore は、1 秒あたりにすべてのMongoDB Search クエリで実行される getmore コマンドの合計数がしきい値を上回るか下回る場合に発生します。

Atlas Search Opcounter: Insert は、 MongoDB Search が 1 秒あたりにインデックスするドキュメントまたはフィールド(インデックス定義で指定)の総数がしきい値を上回るか下回る場合に発生します。

Atlas Search Opcounter: Update MongoDB Search が 1 秒あたりに更新するドキュメントまたはフィールド(インデックス定義で指定)の合計数がしきい値を上回るか下回る場合に発生します。

Insufficient disk space to support rebuilding search indexes はデフォルトで を自動的に実行します。このアラートは、クラスターでMongoDB Search インデックスをサポートするのに十分な空きディスク領域が不足した場合に発生します。

注意

Atlas が新しい機能を有効にするために検索インデックスを自動的にアップグレードすると、このアラートが表示される場合があります。クラスターには、インデックスの前のバージョンと新しいバージョンの両方に十分なディスクスペースが必要です。再構築によってディスクスペースの使用量が90%以上に増加する場合、オートスケーリングを有効にしていると Atlas はクラスターストレージを増加します。インデックスのアップグレードが完了すると、Atlas は古いバージョンのインデックスを削除し、ディスクスペースを解放します。

Search Memory: Resident MongoDB Search プロセスが占める常駐メモリの合計バイト数がしきい値を上回るか下回る場合に発生します。

Search Memory: Shared MongoDB Search プロセスが占める共有メモリの合計バイト数がしきい値を上回るか下回る場合に発生します。

Search Memory: Virtual MongoDB Search プロセスが占める仮想記憶の合計バイト数がしきい値を上回るか下回る場合に発生します。

Search Process: CPU (Kernel) % は、CPU がMongoDB Search プロセスのオペレーティング システム呼び出しの処理に費やした時間の割合がしきい値を超えている場合に発生します。

Search Process: CPU (User) % は、CPU がMongoDB Search プロセスに費やした時間の割合がしきい値を超えている場合に発生します。

Search Process: Disk space used MongoDB Search プロセスで使用されるディスク領域の合計バイト数がしきい値を超えている場合に発生します。

Search Process: Ran out of memory はデフォルトで自動的に実行されます。アラート設定を構成して、この通知を無効にできます。このアラートは、検索プロセス(mongot)がメモリ不足になったときに発生します。検索プロセスでメモリが不足すると、インデックス作成とクエリが失敗します。

MongoDB Search アラートは、大規模なまたは複雑な検索インデックスを作成しようとすると多く発生します。メモリの問題が解決されるまで、これらのインデックスは Initial Sync フェーズに残ります。

検索プロセス( mongot )でメモリまたはディスク容量が不足した場合は、クラスターをアップグレードして当面の問題を修正できます。 より多くのメモリ、ストレージ、 IOPSを持つクラスター階層を選択できます。

将来、MongoDB Search アラートが発生しないようにするには、MongoDB Search のMongoDB Search パフォーマンスの向上を慎重に検討してください。

インデックスを最適化するには、専用の検索ノードを配置することをお勧めします。これにより、Atlas クラスターと$search ワークロードを独立して増やすことができます。専用の検索ノードは mongot プロセスのみを実行します。したがって、mongot プロセスの可用性、パフォーマンス、ワークロードのバランスが向上します。

利用可能なMongoDB Search チャートを表示して、 MongoDB Search メトリクスを監視します。

MongoDB Search メトリクスを監視して、 MongoDB Search インデックスを評価および最適化します。

詳細については、 「 クラスター メトリクスの表示 」を参照してください