Mongodb high lock percentage / slow queries
To see if the hardware is not limiting:


top/htop => cpu percentage
iostat -x 1 => sysstat tool to see disk r/w limits (%util)


Concerning locking:


Mongo 2.6 : database locking
Mongo 3.0 + MMAPv1 storage engine : collection locking
Mongo 3.0 + WiredTiger storage engine : document locking


If you have 1 huge collection (server-prod), maybe Sharding is an option to distribute the load, or more cores + less locking with Mongo3.0

Improve indexes:
 - More indexes = slower write + faster read
 - Less indexes = faster write + slower read

Read from Secondaries, Only write on Primary.

&gt; db.setProvilingLevel(1,4)  ##  save slow logs for that db slower than 4ms
&gt; db.system.profile.find({millis:{$gt:100}}).sort({ts:-1}) ## find queries slower than 100ms, order by timestamp descending
&gt; ....query.explain()  ## find out which indexes it uses


Information:
http://docs.mongodb.org/manual/administration/optimization/