- MongoDB CRUD Operations >
- MongoDB CRUD Concepts >
- Query Optimization >
- Evaluate Performance of Current Operations
Evaluate Performance of Current Operations¶
On this page
The following sections describe techniques for evaluating operational performance.
Use the Database Profiler to Evaluate Operations Against the Database¶
MongoDB provides a database profiler that shows performance characteristics of each operation against the database. Use the profiler to locate any queries or write operations that are running slow. You can use this information, for example, to determine what indexes to create.
For more information, see Database Profiling.
Starting in version 4.0.6, secondary members of a replica set now
log oplog entries that take longer than the slow
operation threshold to apply. These slow oplog messages are logged for
the secondaries in the diagnostic log
under the REPL
component with the text applied op: <oplog
entry> took <num>ms
. These slow oplog entries depend only on the slow
operation threshold. They do not depend on the log levels (either at
the system or component level), or the profiling level, or the slow
operation sample rate. The profiler does not capture slow oplog
entries. For more information, see Slow Oplog Application.
Use db.currentOp()
to Evaluate mongod
Operations¶
The db.currentOp()
method reports on current operations
running on a mongod
instance.
Use explain
to Evaluate Query Performance¶
The cursor.explain()
and db.collection.explain()
methods return information on a query execution, such as the index
MongoDB selected to fulfill the query and execution statistics. You can
run the methods in queryPlanner
mode, executionStats mode, or
allPlansExecution mode to
control the amount of information returned.
Example
To use cursor.explain()
on a query
for documents matching the expression { a: 1 }
, in the
collection named records
, use an operation that resembles the
following in the mongo
shell:
For more information, see Explain Results,
cursor.explain()
, db.collection.explain()
, and
Analyze Query Performance.