HI Will,
Many thanks for reply . My performance issue is related with Sharding issue.
I had some collections sharded in my DB and for some time i got error in my Mongos logs that for particular collection meta data lock has been taken.
In that case that collection stops chunk transfer.
Use case detail is That i create Daily Db which has some collections those are sharded. Every day a new DB created with these collections.
But this metadata lock happens randomly on one collection everyday and complete data stay for that collection on one shard only.
2015-01-02T14:53:58.983+0530 [conn58] warning: splitChunk failed - cmd: { splitChunk: "DB20150102.locationCount", keyPattern: { articleId: 1, host: 1 }, min: { articleId: MinKey, host: MinKey }, max: { articleId: MaxKey, host: MaxKey }, from: "shard0000", splitKeys: [ { articleId: "", host: "
abc.com" } ], shardId: "DB20150102.locationCount-articleId_MinKeyhost_MinKey", configdb: "x.x.x.192:27017,x.x.x.54:27017,x.x.x.55:27017" } result: { who: { _id: "DB20150102.locationCount", state: 1, who: "mongos1:27017:1420185037:1475849446:conn913:869542099", ts: ObjectId('54a660afdc99ecfb22d83c27'), process: "mongos1:27017:1420185037:1475849446", when: new Date(1420189871037), why: "split-{ articleId: MinKey, host: MinKey }" }, ok: 0.0, errmsg: "the collection's metadata lock is taken" }
When this error happens it blocks db and write halted.