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

Measure egress connection creation time from connection pools

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Fully Compatible
    • Service Arch 2022-04-04, Service Arch 2022-04-18, Service Arch 2022-05-02, Service Arch 2022-05-16, Service Arch 2022-05-30, Service Arch 2022-06-13, Service Arch 2022-06-27, Service Arch 2022-07-11, Service Arch 2022-07-25, Service Arch 2022-08-08, Service Arch 2022-08-22
    • 42

      Mongos (and mongod) maintain connection pools wrapped by task executors. These pooled connections are used to perform RPC. Sometimes, these RPC operations come in 'bursts' and no pre-existing pooled connections are available to serve some operations. In these cases, operations are bottlenecked behind new-connection-establishment. We'd like to understand how much time is spent establishing new connections to better understand this potential bottleneck.

      Let's create a measurement of wall-time for this new-connection establishment. 

      Ideally, it would also be good to include partial measurements for each step of the connection establishment, including:

      • Establishing the TCP connection/sockets.
      • Resolving DNS
      • Performing the TLS handshake
      • MongoDB auth 

      Including parts of the detailed breakdown, especially MongoDB auth, may be better suited to break-out into separate tickets after some investigation. 

            vojislav.stojkovic@mongodb.com Vojislav Stojkovic
            george.wangensteen@mongodb.com George Wangensteen
            0 Vote for this issue
            7 Start watching this issue