[DOCS-15542] Investigate changes in SERVER-64964: Measure egress connection creation time from connection pools Created: 16/Aug/22  Updated: 13/Nov/23  Resolved: 30/Aug/22

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 6.1.0-rc0, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113

Type: Task Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Jason Price
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
documents SERVER-64964 Measure egress connection creation ti... Closed
Participants:
Days since reply: 1 year, 22 weeks ago
Epic Link: DOCSP-21764
Story Points: 3

 Description   
Original Downstream Change Summary

Adds a server parameter called "slowConnectionThresholdMillis" that specifies the threshold for slow egress connection establishment.

Emits a log line with ID 6496400 when the connection establishment time exceeds the configured threshold, with the breakdown of how long each phase of the connection establishment took.

Adds "metrics.mongos.totalConnectionEstablishmentTimeMillis" to the output of serverStatus, tracking the total time for egress connection establishment.

Description of Linked Ticket

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. 



 Comments   
Comment by Githook User [ 07/Sep/22 ]

Author:

{'name': 'jason-price-mongodb', 'email': '69260375+jason-price-mongodb@users.noreply.github.com', 'username': 'jason-price-mongodb'}

Message: DOCS-15542-connection-establishment-time (#1669)

Co-authored-by: jason-price-mongodb <jshfjghsdfgjsdjh@aolsdjfhkjsdhfkjsdf.com>
Branch: master
https://github.com/10gen/docs-mongodb-internal/commit/aab793cbfd1a0f1e2d1306bde0c7ba4908ac6a7c

Comment by Githook User [ 30/Aug/22 ]

Author:

{'name': 'jason-price-mongodb', 'email': '69260375+jason-price-mongodb@users.noreply.github.com', 'username': 'jason-price-mongodb'}

Message: DOCS-15542-connection-establishment-time (#1669)

Co-authored-by: jason-price-mongodb <jshfjghsdfgjsdjh@aolsdjfhkjsdhfkjsdf.com>
Branch: v6.1
https://github.com/10gen/docs-mongodb-internal/commit/aab793cbfd1a0f1e2d1306bde0c7ba4908ac6a7c

Comment by Education Bot [ 16/Aug/22 ]

Fix Version updated for upstream SERVER-64964:
6.1.0-rc0

Generated at Thu Feb 08 08:13:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.