1|0
2|0
1|0
1|0
1|0
5|0
1|0
2|0
5|0
2|0
db.serverStatus().connections
{
"current" : 380,
"available" : 52048,
"totalCreated" : NumberLong(1998452)
}
Hi,
Could you provide more details regarding your deployment, such as:
mongod running on each host (e.g. another mongod, web server, application server, etc.)mongod settings that were set differently from the default, e.g. WiredTiger cache setting, etc? It will be helpful if you can post the output of db.serverCmdLineOpts() or the contents of any config files.Please also ensure that you have setup your deployment according to the recommendations outlined in the Production Notes and the Operations Checklist. Also, the Amazon EC2 manual page may be relevant for recommendations specific to AWS.
The general query profile is targeted queries with a large set of parameters being passed to find a small range of specific records.
To understand your use case, could you provide:
Adding in more hosts does help with the performance issues in the short term.
If your setup is a 9-node replica set, did you mean adding new Secondaries?
To answer your specific questions:
a) Why Mongo isn’t utilising more than one CPU when it’s maxing out one CPU and struggling to service requests?
Typically, MongoDB is less CPU-intensive and more disk-intensive. The issue you’re describing sounds like MongoDB is blocked on other things besides CPU, with disk being the most likely cause.
b) Are there any ways (possibly at the application architecture level) to force it to utilise more CPUs?
Currently there’s no method available in MongoDB to force it to use more CPU.
Best regards,
Kevin