Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-62656

Decouple mongos-to-config-server connection pool sizing from mongos-to-shard-server connection pool sizing

    XMLWordPrintable

Details

    • Fully Compatible
    • v6.0, v5.0, v4.4, v4.2
    • Service Arch 2022-04-04, Service Arch 2022-04-18, Service Arch 2022-05-02
    • 148
    • 4

    Description

      The ShardingTaskExecutorPool{Min, Max}Size server parameters control the maximum and minimum sizes of connection pools each TaskExecutor can maintain to any mongod. (Most CRUD/agg operations will use these connection pools to reach mongod from mongos). 

      The STAR team did some research and determined that different values for these parameters may have performance implications, and came up with tuning recommendations for these parameters for different sized deployments. However, in clusters where CSRS are on differently-sized machines than shards, we would want the size of the connection pools controlled by this parameter to differ depending on if the targeted mongod is a configsvr or shardsvr. 

      This is not possible with the current implementation of the parameter, which controls CP sizing for all mongods. We should decouple this to allow for different CP sizing depending  on if the target is a shardserver or configserver.

       Should be doable by giving the ShardingTaskExecutorPoolController a view into the cluster topology (maybe via RSM?) or some info on it so it can determine if a host is a config server or shard server.  

      Attachments

        Issue Links

          Activity

            People

              billy.donahue@mongodb.com Billy Donahue
              george.wangensteen@mongodb.com George Wangensteen
              Votes:
              0 Vote for this issue
              Watchers:
              22 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: