A getmore
indicates that a "next batch of results" was fetched from an open cursor. This may indicate either a large result set where your application has to fetch several batches, or a long running operation such as replication tailing the oplog.
Given there is a large jump starting from the 26th Jan, I would consider if you changed anything in your application or usage that might correlate with this change. Perhaps you started a new backup routine, or one of your common queries now has enough data to require multiple batches.
If you want to determine the source of the increased getmore
count, you can see these logged at logLevel
1 or higher.
The logLevel
parameter can be set on startup or adjusted at runtime. The logs will get large quickly with the extra detail, so I would suggest increasing for a short period of time to sample getmores during one of the peak periods indicated in MMS.
To increase logLevel
in the mongo
shell use:
db.adminCommand( { setParameter: 1, logLevel: 1 } )
You can change back to the default logLevel
with:
db.adminCommand( { setParameter: 1, logLevel: 0 } )
After increasing the logLevel
, you should be able to grep your mongod log for lines with "getmore" which will be similar to:
Sun Feb 9 09:31:14.573 [conn8527] getmore local.oplog.rs query: { .. }
The text after "getmore" (and before the query) indicates the namespace (i.e. "database.collection").
The getmore
queries from replication or any other applications tailing the oplog (such as MMS Backup or MongoDB Connector) will always be on the local.oplog.rs
namespace.