Docs Menu

現在の操作のパフォーマンスを評価する

次のセクションでは、運用パフォーマンスを評価するための手法について説明します。

MongoDB は、 データベースに対する各操作のパフォーマンス特性を示すデータベースプロファイラーを提供します。 プロファイラー を使用して、低速で実行されているクエリまたは書き込み操作を見つけます。 この情報を使用して、たとえば、作成するインデックスを決定できます。

プロファイラー エントリと読み取り操作および書込み (write ) 操作の 診断ログ メッセージ(mongod/mongos ログ メッセージなど)には次のものが含まれます。

replica setのセカンダリ メンバーは、適用に低速操作しきい値よりも長い時間がかかるoplogをログに記録するようになりました。 これらの遅い oplog メッセージ:

プロファイラーは遅い oplog エントリをキャプチャしません。

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

db.currentOp()メソッドは、 mongodインスタンスで実行されている現在の操作を報告します。

cursor.explain()メソッドとdb.collection.explain()メソッドは、クエリや実行統計を満たすために選択されたインデックス MongoDB など、クエリ実行に関する情報を返します。 返される情報の量を制御するには、 queryPlannerモード、 executionStatsモード、またはallPlansExecutionモードでメソッドを実行します。

{ a: 1 }に一致するドキュメントのクエリでcursor.explain()を使用するには、 recordsという名前のコレクションで、 mongoshの次のような操作を使用します。

db.records.find( { a: 1 } ).explain("executionStats")

MongoDB 4.2 以降では、 explain の出力に次のものが含まれます。

詳細については、「結果の説明」、「 cursor.explain()db.collection.explain() 、「クエリ パフォーマンスの分析 」を参照してください。