Docs Menu

低速クエリの分析

Atlas は、クラスターで実行される低速クエリの分析に役立つツールをいくつか提供します。各ツールの説明については、次のセクションを参照してください。クエリ パフォーマンスを最適化するには、クエリ パフォーマンスのベスト プラクティスを検討します。

Performance Advisor は MongoDB が遅いと判断したクエリをモニターし、クエリ パフォーマンスを改善するための新しいインデックスを提案します。

Performance Advisor は次の情報を検討するために利用できます。

クエリのレイテンシ名前空間インサイトを使って、コレクションレベルでモニターしましょう。特定のホストと操作タイプのクエリ レイテンシのメトリクスと統計を表示できます。ピン留めされた名前空間を管理したり、対応するクエリ レイテンシ チャートに表示する名前空間を最大 5 つ選択したりできます。

クエリプロファイラーには、低速で実行される操作とその主なパフォーマンス統計が表示されます。過去 5 日間以内に実行されたクエリのサンプルを、追加コストやパフォーマンス オーバーヘッドなしに調査できます。クエリプロファイラーを有効にする前に、検討事項を参照してください。

RTPP(Real-Time Performance Panel、リアルタイム パフォーマンス パネル)は、関連データベース操作を識別し、クエリの実行時間を評価します。またこのパネルはクエリ実行中に返されるドキュメントに対してスキャンされるドキュメントの比率を表示します。RTPP はデフォルトで有効になっています。

重要

必要な特権

プロジェクトに対して Real-Time Performance Panel を有効または無効にするには、そのプロジェクトに対する Project Owner ロールが必要です。

クエリのパフォーマンスを最適化するために、次のベストプラクティスの採用を検討しましょう。

  • 現在のインデックスに対応するクエリを作成すると、結果の検索に必要な時間が短縮します。

  • フィールドに多数の配列があるドキュメントは、検索とインデックスに多くの処理が必要になるため、作成しないようにします。

  • インデックスを最適化し、使用されていないインデックスや非効率的なインデックスは排除します。インデックスが多すぎると、書込みパフォーマンスに悪影響が及ぶ可能性があります。

  • Performance Advisor が最高の Impact スコアと最低の Average Query Targeting スコアと共に提案するインデックスの採用を検討します。

  • Performance Advisor が提案するインデックスが自分のインデックスの作成戦略と一致する場合、そのインデックスを作成しましょう。

  • Performance Advisor は、ctime タイムスタンプ形式を使用するように構成された MongoDB データベース向けのインデックスは提案できません。回避策として、このタイプのデータベースにはタイムスタンプ形式を iso8601-utc または iso8601-local に設定します。

  • ローリング インデックス構築を実行して、インデックス構築がレプリカセットシャーディングされたクラスターのパフォーマンスに及ぼす影響を軽減します。

  • 未使用、冗長、非表示のインデックスを削除すると、書込みパフォーマンスの向上とストレージ スペースの開放につながります。