Monitoring and killing long running operations on MongoDB
In this recipe, we will look at how to find and monitor operations on MongoDB. This can help us keep an eye on any anomalous behavior or catch suboptimal queries.
Getting ready
All you need is a single-node MongoDB instance. Additionally, in order to simulate a busy production system, you may need to add a collection with a couple of million documents. If you are lazy like me, simply run the following:
for x in $(seq 30); do mongoimport -h 192.168.200.200 --type csv --headerline -d mydb-c mycol chapter_2_mock_data.csv;done
How to do it...
- In one Terminal window, connect to the mongod instance using mongo shell and run a
find()
query for a string that does not exist in the database:
db.people.find({name: 'Foobar'})
- In another Terminal window, connect to the mongod instance using mongo shell and run
db.currentOp()
:
use mydb db.currentOp()
- You should see output similar to this:
{ "inprog" : [ { "desc" : "conn11", ...