Atlas Search の問題の修正
Atlas Search は、Atlas Search プロセスで使用される CPU とメモリの量が指定されたしきい値に達したときに Atlas Search アラートをトリガーします。 検索プロセス( mongot
)でメモリが不足すると、インデックス作成とクエリが失敗します。 プロジェクトアラート設定モーダルで、Atlas Search アラート条件を構成できます。 クラスター モニタリングを使用して Atlas Search メトリクスを表示することもできます。
警告
Atlas Search インデックスが既に存在するコレクションをシャーディングする場合、コレクションがシャードに表示され始めるときにクエリのダウンタイムが短時間発生することがあります。また、シャードを Atlas Search インデックスなどのシャーディングされたコレクションに追加する場合、追加されたシャードで最初の同期プロセスが完了するまで、そのコレクションに対する検索クエリは失敗します。詳しくは、「最初の同期プロセス」を参照してください。
アラート条件
プロジェクト レベルのアラート設定ページで次のアラート条件を構成して、trigger アラートを起動できます。
Atlas Search: Index Replication Lag
は、Atlas Search が のmongod
oplog からの変更を複製する際に遅延しているおおよそのミリ秒数がしきい値を超えているか下回っている場合に発生します。
Atlas Search: Index Size on Disk
ディスク上のすべての Atlas Search インデックスの合計サイズ(バイト単位)がしきい値を上回るか下回る場合に発生します。
Atlas Search: Max Number of Lucene Docs
特定のレプリカセットまたはシャードの Atlas Search インデックスの保存に使用される Lucene Docs の上限数がしきい値を超えている場合に発生します。
Atlas Search: Mongot stopped replication
は、ディスク使用率が高いために Atlas Search mongot
プロセスによってレプリケーションが中断された場合に、専用の検索ノードでのみ発生します。レプリケーションの一時停止のしきい値は 90% のディスク使用率で、レプリケーション再開のしきい値は 85% です。レプリケーションが長時間停止されると、mongot
プロセスは oplog から削除されます。Atlas は、mongot
プロセスが oplog から削除された場合、インデックスを再構築します。ただし、検索インスタンスをアップスケールしたり、Atlas Search インデックスを削除したりすれば、mongot
が oplog から削除されることを防げます。
Atlas Search: Number of Error Queries
は、Atlas Search が応答を返せないクエリの数がしきい値を上回るか下回る場合に発生します。
Atlas Search: Number of Index Fields
は、Atlas Search インデックスに存在する一意のフィールドの総数がしきい値を上回るか下回る場合に発生します。
Atlas Search: Number of Successful Queries
は、Atlas Search が応答を正常に返したクエリの数がしきい値を上回るか下回る場合に発生します。
Atlas Search: Total Number of Queries
は、Atlas Search に送信されたクエリの数がしきい値を上回るか下回る場合に発生します。
Atlas Search Opcounter: Delete
1 秒あたりに削除されるドキュメントまたはフィールド(インデックス定義で指定)の合計数がしきい値を上回るか下回る場合に発生します。
Atlas Search Opcounter: Getmore
は、1 秒あたりにすべての Atlas Search クエリで実行されるgetmore
コマンドの合計数がしきい値を上回るか下回る場合に発生します。
Atlas Search Opcounter: Insert
は、Atlas Search が 1 秒あたりにインデックスするドキュメントまたはフィールド(インデックス定義で指定)の総数がしきい値を上回るか下回る場合に発生します。
Atlas Search Opcounter: Update
Atlas Search が 1 秒あたりに更新するドキュメントまたはフィールド(インデックス定義で指定)の合計数がしきい値を上回るか下回る場合に発生します。
Insufficient disk space to support rebuilding search indexes
クラスターで Atlas Search インデックスをサポートするのに十分な空きディスク領域が不足した場合に発生します。
注意
このアラートは、Atlas が検索インデックスを自動的にアップグレードして新機能を有効にする場合に表示されることがあります。 クラスターには、インデックスの以前と新しいバージョンの両方に十分なディスク領域が必要です。 再ビルドによりディスク容量の使用量が90 % 以上に増加した場合、オートスケーリングを有効にすると Atlas はクラスター ストレージを増加させます。 インデックスのアップグレードが完了すると、Atlas は古いバージョンのインデックスを削除し、ディスク領域を解放します。
Search Memory: Resident
Atlas Search プロセスが占める常駐メモリの合計バイト数がしきい値を上回るか下回る場合に発生します。
Search Memory: Shared
Atlas Search プロセスが占める共有メモリの合計バイト数がしきい値を上回るか下回る場合に発生します。
Search Memory: Virtual
Atlas Search プロセスが占める仮想記憶の合計バイト数がしきい値を上回るか下回る場合に発生します。
Search Process: CPU (Kernel) %
は、CPU が Atlas Search プロセスのオペレーティング システム呼び出しの処理に費やした時間の割合がしきい値を超えている場合に発生します。
Search Process: CPU (User) %
CPU が Atlas Search プロセスに費やした時間の割合がしきい値を超えている場合に発生します。
Search Process: Disk space used
Atlas Search プロセスで使用されるディスク領域の合計バイト数がしきい値を超えている場合に発生します。
検索プロセス( mongot
)でメモリ不足となった場合、 Search Process: Ran out of memory
が発生します。 検索プロセスでメモリが不足すると、インデックス作成とクエリが失敗します。
注意
Search Process: Ran out of memory
アラートはデフォルトで自動的に実行されます。 アラート設定を構成して、この通知を無効にすることができます。
一般的な Triggers
Atlas Search アラートは、大規模な検索インデックスまたは複雑な検索インデックスを作成しようとすると多く発生します。 メモリの問題が解決されるまで、これらのインデックスは Initial Syncフェーズに残ります。
当面の問題の修正
検索プロセス( mongot
)でメモリまたはディスク容量が不足した場合は、クラスターをアップグレードして当面の問題を修正できます。 より多くのメモリ、ストレージ、 IOPSを持つクラスター階層を選択できます。
長期的な解決策の実装
将来、Atlas Search アラートを発行しないようにするには、 Atlas Search のAtlas Search パフォーマンスの向上 を慎重に検討してください。
インデックスを最適化するには、専用の検索ノードを配置することをお勧めします。これにより、Atlas クラスターと$search
ワークロードを個別にスケーリングできます。 専用検索ノードはmongot
プロセスのみを実行するため、 mongot
プロセスの可用性、パフォーマンス、ワークロードのバランスが向上します。
進捗状況の監視
利用可能なAtlas Search チャートを表示 して、Atlas Search メトリクスを監視します。
Atlas Search メトリクスを監視して、Atlas Search インデックスを評価および最適化します。
詳細については、 「 クラスター メトリクスの表示 」を参照してください