Mongo Connection Pooling(Changing the size of connection pool)

13,674

Solution 1

You can build your own MongoClient instance using the MongoClientOptions.Builder.

MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
MongoClientOptions options = builder.connectionsPerHost(10).build();
MongoClient client = new MongoClient(listOfServers, options);

Solution 2

As another option(and more convenient for me), connection pool size can be changed via MongoDb URI. Sample:

 MONGODB_URI (mongo):   mongodb://user:password@localhost:27017/users_db?ssl=true&maxPoolSize=10&readPreference=primaryPreferred&replicaSet=Dev-shard-0&authSource=admin

Where maxPoolSize=10 param is max amount of connections. There are also some additional parameters for configuring connection pool in such way, for details - refer to the documentation - https://docs.mongodb.com/manual/reference/connection-string/

Share:
13,674
neoeahit
Author by

neoeahit

Updated on June 15, 2022

Comments

  • neoeahit
    neoeahit almost 2 years

    How to change the mongo connection pool size?

    I have seen it is 100 by default. Is there a way to change this value?

    I dont want to do it via spring, is there a way to configure it via MongoClient?

    There is an option i see about mongoClientOptions but i dont see options to set connection pool

  • neoeahit
    neoeahit almost 10 years
    so this no 10 is a connection pool? which is by default 100? Also if I have say 3 hosts i will have 30 connections in total in your case?
  • evanwong
    evanwong almost 10 years
    Default 100 is probably the implementer think that's the best default setting for most people - I can't answer why. The above will set 10 connections (yes, pool) per host. If you have 3 hosts, it will be 10 per host and 30 in total.