-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Server Selection
-
None
-
Fully Compatible
We're seeing a large fraction of time being spent in server selection; around 30% of the time taken by "driver.Operation.Execute" is being spent in "driver.Operation.selectServer", vs 45% for "driver.Operation.roundTrip", which obviously includes network roundtrip(s).
A large fraction of "driver.Operation.selectServer" seems to be around "Subscribe", and it seems that could easily be avoidable in an initial fast path, where you'd expect a server to always be available. Related to this, we're also seeing server selection timeouts with a 20ms server selection timeout – it appears that the subscription logic is sometimes slow enough that we're hitting that timeout even if server selection could otherwise be satisfied.