-
Type:
Story
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Data Explorer
-
None
-
Not Needed
-
None
User Experience
As seen in the flame graph, events #6-13 on client 3 are all happening serially. More generally, we see that there is a very clear "waterfall" of events before we get to listing databases.
This issue is mentioned here: https://docs.google.com/document/d/1Fl_MYUQ3cn3lKNAa9PTwsqcq7uuYbhJ127h-bk8yIh8/edit?disco=AAABkWy87T8
We can also tune the logic in compass a bit maybe to start requesting some of this data sooner, right now I think there is a bit of a waterfall before we get to listing databases, but this can be improved.
This ticket is to investigate whether we can parallelize some of that at the Compass level. Note that to actually reap the benefits of this parallelization, we will likely also need to increase the "maxPoolSize" option, since running more commands in parallel requires more connections (the driver cannot run more than one command at once).
Acceptance Criteria
Implementation Requirements
- COMPASS-9455 will remove the initial pings in favor of a more useful command.
- The following commands are run serially:
- ping, ping, aggregate (db, $currentOp), hostInfo, buildInfo, getParameter, atlasVersion
- The remaining following commands should be parallelized to start the waterfall earlier and create more connections sooner* Investigate an appropriate maxPoolSize increase for compass-web. Keep in mind the constraints of the browser to create connections.
Testing Requirements
- Reproduce the flamegraph and demonstrate more parallel operations
- is related to
-
COMPASS-9455 Avoid running ping on initial connection to cluster in compass
-
- Backlog
-