クエリの問題の修正
Query Targeting
アラートは、非効率的なクエリを示します。
アラート条件
プロジェクト レベルの アラート設定ページで次のアラート条件を構成して、アラートをtriggerできます。
クエリ ターゲティング: スキャンされた/返された は、返されたドキュメントの実際の数に対するクエリを満たすために検査されたインデックス キーの数が、一定のしきい値を満たすか、それを超えている場合に発生します。
クエリ ターゲティング: スキャンされたオブジェクト / 返された は、返されたドキュメントの実際の数に対するクエリを満たすために検査されたドキュメントの数が、一定のしきい値を満たすか、それを超える場合に発生します。
一般的な Triggers
指定されたクエリをサポートするインデックスはありません。
既存のインデックスは 1 つまたは複数のクエリを部分的にはサポートできます。
当面の問題の修正
Performance Advisor は、インデックスを作成する最も簡単かつ迅速な方法を提供します。Performance Advisor は、MongoDB が低速と見なすクエリをモニタリングし、パフォーマンスを向上させるためのインデックスを推奨します。
推奨インデックスの作成方法については、低速クエリの [Create Index] をクリックしてください。
注意
クエリが低速クエリのしきい値を超え、スキャンされたドキュメントと返されたドキュメントの比率がアラートで指定されたしきい値を上回っている場合、Performance Advisor から推奨インデックスを受け取らずに、非効率的なクエリに対してクエリのターゲット アラートを受け取ることがあります。
さらに、どのクエリがアラートを生成したかを判断するには、以下のリソースを使用します。
リアルタイム パフォーマンス パネルは、MongoDB Atlas クラスターで MongoDB をホストしているマシン上の現在のネットワーク トラフィックとデータベース操作をモニタリングして表示します。
MongoDB ログは、MongoDB Atlas クラスター内の各
mongod
インスタンスについて、クエリを含むアクティビティのアカウントを維持します。cursor.explain()
mongosh
のコマンドは、すべてのクエリのパフォーマンスの詳細を提供します。データプロファイラーは、クラスター上のすべての操作の平均実行時間と比較して、MongoDB Atlas が低速と見なす操作を記録します。
注意
データベースプロファイラー を有効にすると、パフォーマンスのオーバーヘッドが発生します。
長期的な解決策の実装
クエリ パフォーマンスの詳細については、以下を参照してください。
進捗状況の監視
MongoDB Ops Managerには、次の 2 つの方法でクエリのターゲットを視覚化します。