Atlas には、クラスターで実行される低速クエリの分析に役立つツールがいくつか用意されています。各ツールの説明については、次のセクションを参照してください。クエリ パフォーマンスを最適化するには、 クエリ パフォーマンスのベストプラクティスを参照してください。
Performance Advisor
Performance Advisor は、MongoDBが遅いと判断したクエリをモニターし、クエリ パフォーマンスを改善するための新しいインデックスを提案します。
Performance Advisor は次の情報を検討するために利用できます。
Tip
MongoDB MCP サーバーを使用して、AIクライアントからの Performance Advisor の推奨事項にアクセスすることもできます。このツールを使用すると、自然言語を介して Atlas クラスターと交流できます。詳細については、MongoDB MCP サーバーで Performance Advisor にアクセスするを参照してください。
クエリインサイト
使用可能な場合、プロジェクトの概要ページには、低速クエリとサンプリングされた P95 レイテンシに関するアラートと高レベルの指標を含む View Query Insights セクションが含まれます。このセクションには、Query Insightsタブへのショートカットも含まれています。
次のツールは、[Query Insights] タブにあります。
クエリシェイプのインサイト
クエリ シェイプ インサイトは、低速で実行されるクエリを含むクエリ シェイプのパフォーマンス統計を表示します。最大 5 つのクエリ構造を選択して、メトリクスをチャートで確認できます。また、ホスト、シャード、時間範囲でフィルターして、プロジェクトに関連性の高いパフォーマンス メトリクスおよび統計をモニタリングできます。
名前空間のインサイト
Namespace Insights は、低速で実行されるクエリを含むコレクションに対するクエリ レイテンシの統計を表示します。最大で 5 つのネームスペースをピン留めしてチャートでメトリクスを表示できます。また、ホスト、シャード、時間範囲、オペレーション タイプでフィルターを適用し、プロジェクトにとって最も関連性の高いレイテンシ メトリクスおよび統計をモニタリングできます。
Query Profiler
Query Profiler には、低速で実行される操作とその主なパフォーマンス統計が表示されます。過去 7 日間以内に実行されたクエリのサンプルを、追加コストやパフォーマンス オーバーヘッドなしに調査できます。Query Profiler を有効にする前に、検討事項を参照してください。
リアルタイム パフォーマンス パネル(RTPP)
リアルタイム パフォーマンス パネル(RTPP)は、関連データベース操作を識別子、クエリの実行時間を評価します。またこのパネルにはクエリ実行中に返されるドキュメントに対してスキャンされるドキュメントの比率が表示されます。RTPP はデフォルトで有効になっています。
クエリ パフォーマンスに関するベストプラクティス
クエリのパフォーマンスを最適化するために、次のベストプラクティスの採用を検討しましょう。
現在のインデックスに対応するクエリを作成すると、結果の検索に必要な時間が短縮します。
フィールドに多数の配列があるドキュメントは、検索とインデックスに多くの処理が必要になるため、作成しないようにします。
インデックスを最適化し、使用されていないインデックスや非効率的なインデックスは取り除きます。インデックスが多すぎると、書き込みパフォーマンスに悪影響が影響可能性があります。
Performance Advisor が最高の Impact スコアと最低の Average Query Targeting スコアと共に提案するインデックスの採用を検討します。
Performance Advisor が提案するインデックスが自分のインデックスの作成戦略と一致する場合、そのインデックスを作成しましょう。
Performance Advisor は、ctime タイムスタンプ形式を使用するように構成された MongoDB データベース向けのインデックスは提案できません。回避策として、このタイプのデータベースにはタイムスタンプ形式を iso8601-utc または iso8601-local に設定します。
ローリング処理によるインデックスビルドを実行 して、レプリカセットとシャーディングされたクラスターへのインデックスビルドによるパフォーマンスへの影響を軽減します。
未使用、冗長、非表示のインデックスを削除すると、書込みパフォーマンスの向上とストレージ スペースの開放につながります。