Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

クエリ パフォーマンスの分析

項目一覧

  • 低速クエリの特定
  • パフォーマンスの概要
  • 低速クエリの分析
  • 高度なクエリ分析の実行

MongoDB には、ワークロードのパフォーマンスを調べる方法がいくつか用意されているため、クエリのパフォーマンスを理解し、実行時間が長いクエリを識別できます。 クエリ パフォーマンスを理解することで、効果的なインデックスを構築し、アプリケーションが重要なクエリを効率的に実行するようにします。

次の方法を使用して、配置で発生する低速クエリを識別します。

次のメソッドは、配置のパフォーマンスの概要を提供します。 これらのメソッドを使用して、対処する必要があるパフォーマンス問題があるかどうかを判断します。

方式
可用性
説明

Atlas Performance Advisor の使用

M 10 + Atlas クラスター

Atlas Performance Advisor は低速クエリをモニターし、パフォーマンスを向上させるための新しいインデックスを提案します。 詳しくは、「 モニターと低速クエリの改善 」を参照してください。

Atlas で実行中の操作を確認する

M 10 + Atlas クラスター

Atlas リアルタイム パフォーマンス パネル(RTPP) を使用して、現在のネットワーク トラフィック、データベース操作、ハードウェア統計を確認できます。

実行中の操作をローカルで確認

Atlas クラスターとセルフホスト型配置

$currentOp集計ステージでは、アクティブな操作とカーソルに関する情報が返されます。 パフォーマンスに悪影響を与える可能性のある長時間実行または停止した操作を特定するには、 $currentOpを使用します。

また、 topコマンドを使用して、追加の操作数とレイテンシの統計を取得することもできます。

サーバー メトリクスの確認

Atlas クラスターとセルフホスト型配置

Atlas クラスターの場合、クラスター メトリクスを表示してパフォーマンスの問題を特定できます。

セルフホスト型配置の場合、 serverStatusコマンドは、クエリ実行のパフォーマンス低下や異常を示す可能性のあるメトリクスを提供します。

インデックス統計の表示

Atlas クラスターとセルフホスト型配置

$indexStats集計ステージでは、コレクションのインデックスと、個々のインデックスが使用される頻度に関する情報が返されます。 $indexStatsを使用して、書込みパフォーマンスを向上させるために削除できる未使用のインデックスを識別します。

次の方法を使用して低速クエリを分析し、パフォーマンス低下の原因を特定します。

方式
可用性
説明

Atlas クエリプロファイラーの使用

M 10 + Atlas クラスター

Atlas クエリプロファイラー には、長時間実行される操作とパフォーマンス統計が表示されます。 詳しくは、「クエリ パフォーマンスの監視 」を参照してください。

データベースプロファイラーを有効にする

Atlas クラスターとセルフホスト型配置

有効にすると、データベースプロファイラーは低速クエリに関する情報をsystem.profileコレクションに保存します。

詳細については、「データベースプロファイラ 」を参照してください。

診断ログで低速クエリを表示

Atlas クラスターとセルフホスト型配置

MongoDB は、低速操作しきい値(デフォルトは100ミリ秒)を超えるクエリを診断ログに記録します。

診断ログをチェックして、問題のあるクエリを特定し、どのクエリにインデックスがメリットをもたらすかを確認します。

explain 結果の表示

Atlas クラスターとセルフホスト型配置

クエリ説明結果には、クエリプランと実行統計に関する情報が表示されます。 explain 結果を使用して、クエリに関する次の情報を判別できます。

  • クエリの実行にかかる時間

  • クエリでインデックスが使用されているかどうか

  • クエリを実行するためにスキャンされたドキュメントとインデックス キーの数

explain の結果を表示するには、次のメソッドを使用します。

explain の結果出力の詳細については、 explain の結果と説明計画結果の解釈 を参照してください。

次のメソッドは、問題のあるクエリをより深く調査するのに適しており、パフォーマンスに関する詳細なインサイトを提供できます。

方式
可用性
説明

プラン キャッシュ統計の表示

Atlas クラスターとセルフホスト型配置

$planCacheStats集計ステージは、コレクションのプラン キャッシュに関する情報を返します。

プラン キャッシュには、クエリ プランナーがクエリを効率的に完了するために使用するクエリプランが含まれています。 一般的に、プラン キャッシュには最も頻繁に実行されるクエリのエントリが含まれている必要があります。

戻る

クエリの最適化