クエリ パフォーマンスの分析
MongoDB には、ワークロードのパフォーマンスを調べる方法がいくつか用意されているため、クエリのパフォーマンスを理解し、実行時間が長いクエリを識別できます。 クエリ パフォーマンスを理解することで、効果的なインデックスを構築し、アプリケーションが重要なクエリを効率的に実行するようにします。
低速クエリの特定
次の方法を使用して、配置で発生する低速クエリを識別します。
パフォーマンスの概要
次のメソッドは、配置のパフォーマンスの概要を提供します。 これらのメソッドを使用して、対処する必要があるパフォーマンス問題があるかどうかを判断します。
方式 | 可用性 | 説明 |
---|---|---|
Atlas Performance Advisor の使用 | M 10 + Atlas クラスター | Atlas Performance Advisor は低速クエリをモニターし、パフォーマンスを向上させるための新しいインデックスを提案します。 詳しくは、「 のモニターと低速クエリの改善 」を参照してください。 |
Atlas で実行中の操作を確認する | M 10 + Atlas クラスター | Atlas リアルタイム パフォーマンス パネル(RTPP) を使用して、現在のネットワーク トラフィック、データベース操作、ハードウェア統計を確認できます。 |
実行中の操作をローカルで確認 | Atlas クラスターとセルフホスト型配置 | また、 |
サーバー メトリクスの確認 | Atlas クラスターとセルフホスト型配置 | Atlas クラスターの場合、クラスター メトリクスを表示してパフォーマンスの問題を特定できます。 セルフホスト型配置の場合、 |
一般的なクエリシェイプの表示 | Atlas クラスターとセルフホスト型配置 | |
インデックス統計の表示 | Atlas クラスターとセルフホスト型配置 | $indexStats 集計ステージでは、コレクションのインデックスと、個々のインデックスが使用される頻度に関する情報が返されます。 $indexStats を使用して、書込みパフォーマンスを向上させるために削除できる未使用のインデックスを識別します。 |
低速クエリの分析
次の方法を使用して低速クエリを分析し、パフォーマンス低下の原因を特定します。
方式 | 可用性 | 説明 |
---|---|---|
Atlas クエリプロファイラーの使用 | M 10 + Atlas クラスター | Atlas クエリプロファイラー には、長時間実行される操作とパフォーマンス統計が表示されます。 詳しくは、「クエリ パフォーマンスの監視 」を参照してください。 |
データベースプロファイラーを有効にする | Atlas クラスターとセルフホスト型配置 | 有効にすると、データベースプロファイラーは低速クエリに関する情報を 詳細については、「データベースプロファイラ 」を参照してください。 |
診断ログで低速クエリを表示 | Atlas クラスターとセルフホスト型配置 | MongoDB は、低速操作しきい値(デフォルトは100ミリ秒)を超えるクエリを診断ログに記録します。 診断ログをチェックして、問題のあるクエリを特定し、どのクエリにインデックスがメリットをもたらすかを確認します。 |
explain 結果の表示 | Atlas クラスターとセルフホスト型配置 | クエリ説明結果には、クエリプランと実行統計に関する情報が表示されます。 explain 結果を使用して、クエリに関する次の情報を判別できます。
explain の結果を表示するには、次のメソッドを使用します。
explain の結果出力の詳細については、 explain の結果と説明計画結果の解釈 を参照してください。 |
高度なクエリ分析の実行
次のメソッドは、問題のあるクエリをより深く調査するのに適しており、パフォーマンスに関する詳細なインサイトを提供できます。
方式 | 可用性 | 説明 |
---|---|---|
プラン キャッシュ統計の表示 | Atlas クラスターとセルフホスト型配置 |
プラン キャッシュには、クエリ プランナーがクエリを効率的に完了するために使用するクエリプランが含まれています。 一般的に、プラン キャッシュには最も頻繁に実行されるクエリのエントリが含まれている必要があります。 |