On this page
Slow application-side operation times that are not reflected in the database server logs or the real time panel.
For example: if a member has a latency of 10000 milliseconds,
A misconfigured firewall closes a socket connection incorrectly and the driver cannot detect that the connection closed improperly.
The server logs or real time panel show that the application spends too much time creating new connections.
The load on the database is low and there's a small number of active connections at any time. Application performs fewer operations at any one time than expected.
Increase maxPoolSize, or increase the number of active threads in your application or the framework you are using.
Database CPU usage is higher than expected. The server logs or real time panel show more connection attempts than expected.
Decrease the maxPoolSize or reduce the number of threads in your application. This can reduce load and response times.
Calculate usage to find the number of operations running for each connection.
Consider four application servers connecting to a replica set with three members. In this scenario, each of the four application servers creates a connection pool for each replica set member.
Calculate the maximum number of connections that are opened by
each application server by multiplying
maxPoolSize by the
number of members.
Calculate outgoing connections from an application to a three-member replica set:
100) x 3 (replica set members) = 300 (outgoing connections from the application).
Calculate incoming connections from four application servers to a replica set:
100) x 4 (application servers) = 400 (incoming connections to each mongod).