node.jsmongodbperformancedatabase-performancecompose-db

Reduce the memory usage and the FAILCNT for MongoDB (compose)


I have a Compose.io MongoDB deploy. The deployment has a database (11.5 GB) with 18 collections and documents:

Collection      Documents   Size

a..             195         168 KB
b..             39          40 KB
c..             4           8 KB
d..             1754        680 KB
u..             2939580     2.47 GB
i..             2           8 KB
i..             161036      232 MB
i..             54371       10.7 MB
i..             14011       2.66 MB
n..             1839711     1.08 GB
o..             535         10.7 MB
r..             13150       2.66 MB
r..             8367        2.66 MB
r..             503         168 KB
s..             0           8 KB
t..             1776        2.66 MB
t..             953418      4.47 GB
h..             38563       82.3 MB

I'm having a perforamces problems, related to the use of memory and FAILCNT. Although I have scaled the machine.

Now my configuration is:

For a cost of: $562.00/month

I tried several variations, scaling the memory of Routers and Shards : enter image description here

but I can not lower the FAILCNT.

Now I have the following performances (with the latest configuration): enter image description here

I would like to know if this is normal behavior.

And if there are any ways to optimize this, as well as scale.And if the cost of the service is good, or can find a cheaper service.

I'm improving the MongoDB indexes, to see if I can improve,


Solution

  • Indexes support the efficient execution of queries in MongoDB. Without indexes, MongoDB must perform a collection scan, i.e. scan every document in a collection, to select those documents that match the query statement. If an appropriate index exists for a query, MongoDB can use the index to limit the number of documents it must inspect.

    [https://docs.mongodb.com/manual/indexes/]