Just started a fresh M10 cluster but at real time metrics hours after initializing the cluster i see activity while I didn’t do anything yet. It is at constant 100 - 125kb dance for network out and 41 to 60 connections.
Is this normal? If this is really every second just having the cluster online is taking more then 100GB per month?! That’s around 9 euro just for a empty cluster with no user connections.
Also, the connection chart in atlas, is it concurrent connections of just connections?
For example, if just connections and M10 has a max of 1500 concurrent connections, then it should be ok to see more like 10.000 connections and for example 700 concurrent ones. How to tell them apart?
Also, when i actually do some test requests (simple insert requests without index and maybe 1-3kb per doc) at 3 per around 1 second the cpu already goes to 10%. It is fastly going back to a steady 3-5% but that is not very promising. If that’s already 10% how can it ever handle 1500 concurrent requests?
Also my cluster is in AWS Frankfurt, in AWS you get the firxt x GB data p/month out for free, is that also in case of running a cluster on AWS and not billed until that free GB p/month is used?
This appears to be quite normal to my knowledge. For reference, my test M10 cluster with 0 external connections is seeing around 45-70 connections (as per the last hour of the connections metric). With regards to the 100-125kb out, can you verify if thats the bytes out metric as opposed to the max bytes outs metric? I assume you have no activity on the cluster at all including any applications connecting, but correct me if I am wrong here as I believe the context of this question is more so in regards to resource utilisation for a cluster when there is no “activity” coming from external sources (applications, etc).
The majority, if not all, of those connections you’ve mentioned are most likely due to connections between nodes and other atlas agents. More details here.
It’s the number of concurrent (or active) connections at that period of time. So with your example, the 700 concurrent connections should be fine. However, in saying so, i’d go over the Review Available Metrics and Connection Pooling Overview documentation for more info.
Are you expecting 1500 concurrent requests for production workload? I think it may be better to try test the anticipated production workload against the server to see how it performs and whether or not there are enough resources.
There is a big difference between active or concurrent connections.
If a cluster without any load already has 100 simultainus connections that would be a lot.
If it were active connections like in the last hour there were 100 connections that would be fine.
Some connections are automatically created for monitoring and administrative tasks. These connections represent the communication between a cluster’s nodes that enables high availability and assists with maintaing the cluster’s health.
E.g. Heartbeats and replication between the nodes as well as the backup, monitoring, and automation agents.
You can test use the following script to get a basic list of active connections via mongosh: