On this page
The following sections describe techniques for evaluating operational performance.
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.
Starting in MongoDB 4.2, the profiler entries and the diagnostic log messages (i.e. mongod/mongos log messages) for read/write operations include:
queryHashto help identify slow queries with the same query shape.
planCacheKeyto provide more insight into the query plan cache for slow queries.
Starting in version 4.2 (also available starting in 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
Are logged under the
REPLcomponent with the text
applied op: <oplog entry> took <num>ms.
Do not depend on the log levels (either at the system or component level)
Do not depend on the profiling level.
May be affected by
slowOpSampleRate, depending on your MongoDB version:
The profiler does not capture slow oplog entries.
For more information, see Database Profiler.
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.
Starting in MongoDB 4.2, the explain output includes: